The days of writing one version of an application are pretty much gone. Most likely you want to have your app run on a desktop and various mobile devices. Having said that, there are ways to make your app responsive to the screen size it will run on with a lot of code reuse.
Enter device detection and profiles with Sencha Touch 2.
Windows7 allows you to create a homegroup for easy file sharing, printer sharing across all the computers on your network. However, apparently you are limited to a single homegroup on the network. What if you wanted to create a new one. Here's a little undocumented trick that I found out today.
C# has an object called WebClient that makes it easier to execute POSTs and GETs. However, if you ever have to deal with managing cookies, the WebClient doesn't do this out of the box, which puzzles me. It's not too hard to implement though.
In reworking some code, I wanted to leverage some lazy loading goodness for properties of a class. Yet at the same time, return a list of all those properties for iterating. Reflection is an awesome way to accomplish this feat!
Using an Oracle database backend in conjunction with LINQ required use of a 3rd party tool called DevArt dotConnect for Oracle. However, when the database model is configured, it's hard coded to a specific database instance (Dev, Test, etc). I wanted to dynamically select which database instance to run against relative to the lane my tests were running against. It's actually easier than I thought.
Automated tests have an important role in the longevity of your product. There are pros and cons to having an automation suite, but I think the pros fully out weigh the cons. That being the case, how do you build an automation framework that will outlast the tools that are being used?
In running functional automation testing, it has always been difficult to know whether the AJAX call has finished. Most people just put a Thread.Sleep() in the code, but it clutters up things and isn't accurate. To handle this appropriately, we found a way to watch for those JQuery AJAX calls and drive the automation accordingly.
When running large test suites, it's useful to get results on the fly, rather than waiting until the suite completes to get results. Some of my test suites take 20, 30+ hours to complete. Here is how you can get immediate results using NUnit Console and TeamCity.
We've recently moved some of our tests from the .NET 3.5 framework to run against the .NET 4.0 framework. I updated the Project target framework to be 4.0 as well. However, I was getting this error: This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. After some research, it required a pretty easy fix.
Lately, I've been working on creating a custom build trigger for Team City. We need to monitor an external database for changes which will add a build to the queue. It sure was a lot of work but well worth it.
Usually when you mention "adding comments to your code" or "make sure you document it", it gets pretty ugly and the security guards are called in to restore order. Okay, maybe not that intense but you would have to agree that it's not a fun task.
In NUnit, you can specify a category on a test method or test fixture. I needed that list in a totally different context. Here's how to do it.
The default triggers provided by CruiseControl.NET just didn't fit my unique scenario. I needed a trigger that could check a database table, and if rows exist - to force a build. Check the low down...
I have several machines where I run CruiseControl.NET for our test automation. Today, I went to look at the results and I would get a 404 error on one of the boxes. I checked another machine and the build results would come up just fine.
We have a custom object called ListOption in our code. It holds category, value and option and fairly represents the basics of a single SelectList item. To hold the ListOption values, the primary developer stored this List as and IList instead of an ArrayList or any other concrete type. OptionList extends IEnumerable.
Here is how I sorted the IList.
The CategoryAttribute can be used to specify additional groupings of test cases that you want to run at the same time. For example, we have our test cases split up into level of priorities (Level 1, Level 2, Level 3). Here's how you can do it:
With a couple thousand tests, the email can be pretty big when viewing the results. We decided we only wanted the high level summary rather than the nitty gritty details.
One of the applications I am testing deals a lot with finance information. However, since most of the data is stored in a remote database, I can't collect or check all the data I want to. We only store a fraction of this information in our schema. I had the wsdl files from the finance department in order to make web service calls. Here's how I did it.