I know it would be possible to do Behavior Driven Development in AX by adding code for every form and then using that to drive the development cycle.
But it seems as if we're starting right at the bottom.
Are there any existing ISV solutions that have tried something like this, so that we wouldn't have to start from scratch?
AX has Unit Test build in which could be a small start.
For a full blown BDD tool pack you would have to rely on third part tools.
Check Axaptapedia as well.
Related
I started looking into docker lately and I understand a lot of the benefits it offers I think, you can quickly create a docker container and run it on different machines. Building (compiling) is also relatively easy, you can download the maven image for example and just build your code. That works fine. So, building is easy, testing is easy and deploying (and running) in production is easy.
What I don't understand is how docker can make the development phase easier. And what I mean with the development phase is, starting up your IDE, reading code, quickly navigate through your methods definition using the methods the IDE provides, use intelliSense, etc. Then change something, run a unit test, try a different third party library, etc. All things you can do with your IDE. But I don't understand how to do this with a docker image. I've read a few posts about starting the IDE from within your docker container, but that requires setting things up with a windows manager and I am not sure if that's the way to go.
Of course I can set up my laptop in such a way that I can do all of this with my IDE, but that way I bypass all of the benefits docker should offer. I still have to download dependencies, set up environment variables, do a lot of manual settings etc. And not just me, but everyone in the team.
So, not a very concrete question, possibly a duplicate, but I just can't wrap my head around it, how to use an IDE together with docker?
Yeah it's hard. It also depends on what language/framework you're using. But the things you mention are all easy to accomplish. For example we use Ruby a lot and someone in my team uses RubyMine to work with his code. That source code is mapped onto the container so the changes are reflected immediately. If you want to run a test, I'm sure you can override the command your IDE brings by default with something custom like docker run --rm myapp ./run_tests.sh or similar. At least that's what I do with VIM.
Probably the most important missing part when doing dev with Docker is debugging. I think JetBrains is starting to add features to their IDE's but I'm not sure on the status of that.
Also, almost every IDE or good editor has an integrated console. You could maintain a docker exec sessions opened there and run all your app commands, like tests, generators or any other. Even do some basic debugging.
Hope it helps.
I'm looking for the tool for accessibility check (the system I'm working on should comply with WCAG2AA).
At the moment we use a code sniffer from squiz labs, which we manually run against our pages.
I would like to take it a step further and have it as a part of TFS gated checkin.
I'm aware this is not as trivial (we use ASP.NET MVC) and will require a browser engine to generate html as part of the same process. There also might be situations when a suppression would have to be added, etc.
Would be grateful if someone could point me in the right direction or maybe there is already a tool (in that case probably combination of tools), which I'm not aware of.
Accessibility checks can't be entirely made by automatic tools (it needs a human to decide if these headings make sense in a page for example), but it's still a great help for half of the tests you've to run.
I'm aware of:
Tanaguru, an open source solution that you can install (Java Tomcat thing) or run as a service. It'll check against your source code (before any DOM modification) many tests from Accessiweb reference list, an understandable (pun intended) implementation of WCAG2.0. The silver level is equivalent to AA level of conformance.
For Tanaguru service, you can provide a test login and password if your server is private and for the standalone code, being open source you can add it to your development process the way you want.
You can test Tanaguru here: http://my.tanaguru.com/?lang=en
WAVE Toolbar will run against code in your browser. This is a Firefox extension, beware that http://wave.webaim.org/ will check HTML code sent from server, not in the browser (the difference is about JS modifying the DOM)
Opquast is both a checklist about quality (accessibility and many other things unrelated, check it at least once it's worth it ;) and a paid service: Opquast reporting. You can run your pages against the Opquast checklist or Accessibility first steps and second steps (this is not WCAG 2.0, it's about the errors that are so obvious you should have repaired before going further with accessibility improvements).
Opquast reporting will export results as PDF, DOC/ODT as well as CSV so you can use it with your own automated test environment.
EDIT 2014: Opquast Desktop is a Firefox extension that'll test pages in your browser (there were a few quirks with Win8, be patient if it's still the case and they aren't on AMO because Mozilla will change their requirements overnight... but knowing personnally and having worked for the awesome team that is behind Opquast, I trust them)
Tenon.io by K. Groves is a new service I barely tested till now, but it's worth checking it
Related article: http://webaim.org/articles/freetools/ (quite old if it doesn't speak of WCAG 2.0, but formats and such are still an interesting read)
Has anyone written (or know about) a .net unit-test runner, preference to NUnit, that runs on iOS ? or do I have to roll my own ?
My goal is to execute the unit tests on the simulator or devices. So far I've seen quite a few posts / blogs on mocking monotouch.dll (but running the tests on a PC) and one answer stating the lack of such tool.
As promised here's my own solution for my problem :-) I hope it can help other people too!
EDIT
Sounds like you'd have to write a MonoDevelop add-in that serves up an API for remote NUnit runners to send data to. Not really a trivial task.
The original Touch.Unit was updated to include support for network logging (albeit not inside MonoDevelop).
EDIT #2 : A similar runner now exists for Mono for Android.
FINAL EDIT: Touch.Unit is now an integreal part of MonoTouch releases (starting with version 5.2) and does not have to be downloaded seperately.
I've wanted the same thing myself for quite some time. I think building one is the only option...
Can't imagine porting this GUI to iOS:
I think the only reasonable solution might be to show a simple UITableView on the device/simulator with test name and red/green checkmarks, and post the full NUnit results via http to server software somewhere.
Sounds like you'd have to write a MonoDevelop add-in that serves up an API for remote NUnit runners to send data to. Not really a trivial task.
I'm doing quite a bit of NAnt script writing at the moment and would love to know how I can speed the process up?
I'm currently editing the script in Visual Studio, then going to the command line to test the output. I like how Visual Studio can be configured to autocomplete your NAnt commands (via xsd) but I'm still testing my scripts on the command line.
Are there any tools that bring all of that together? I use Notepad++ quite a bit but would switch allegiance to another editor that has editing and command line functionality built in.
I guess what I'm looking for is something like NAnt Builder (http://www.nantbuilder.com) but I don't really want to spend that sort of money when I have my free current alternative.
If you use ReSharper, it will handle this for you. And when you look at the overall value that the tool provides (almost any "favorite VS add-in" question on here lists ReSharper at the top), it is a pretty easy decision to go for it. This link provides a list of features.
A free alternative that requires some customization is Notepad++.
I am working on a Django project. And our team follows agile practices(TDD,very short launch times etc..)
When it comes to deployment stage of a feature, we follow manual procedures to get the code deployed on to our production machine. Manual procedures in the sense, run the test cases (of the entire project) manually and run the syncdb (or any latest db changes) manually and other stuff.
This manual stuff is taking about 1/2 hour per day,everyday. So I wanted to automate this. So is there any automatic deployement system or something that takes the commands I give and do what I want or it should be done only MANUALLY?? (using a simple shell file which has got all my commands. In which case, I need to learn shell programming a bit because I don't want to update my latest code in my production machine if any test case fails. So such a sort of conditions exist for deploying, which may involve a bit of shell programming. I guess!)
I just started researching this myself and it looks like the Python-equivalent of Capistrano is Fabric, although maybe not as mature. There seem to be a growing number of people wanting to switch over simply because Capistrano is too ruby/rails centric, although I haven't seen anyone complain about Capistrano being incapable or lacking. YMMV. More info here and here.
EDIT: Looks like Fabric is undergoing a lot of changes. They're moving their homepage to http://docs.fabfile.org/
So in Agile terms, you've identified duplication in your deployment process, now you're looking for ways to refactor it. ;-)
In the Ruby/Rails world, you'd turn first to Capistrano or Vlad The Deployer, and in the Python/Django world you'd turn to the equivalent, except AFAIK there isn't one.
It seems from this post that Capistrano has been used successfully to handle Django deployment, so that's an option worth exploring.
Beyond that, why would you need shell programming? You have a super-powerful scripting language in Python - why not automate your manual process in that?