HI All
Is there a version of Reshaper that can be used to run Silverlight unit test. I am using Resharper 4.5 although it shows test icons against test methods in the class, but it does actually run the test.
Thanks
I'm the author of the AgUnit plugin.
Silverlight 3 support is currently working if you build the plugin from source, a new release is coming in the next couple of weeks.
If you want to run the tests on a build server, you should take a look at StatLight: http://statlight.codeplex.com/ You should be able to set it up easily with TeamCity.
Update: Silverlight 3 support should be working in the new 0.2 release of AgUnit.
I doubt it, although I am happy to be proven wrong. The test runner for MS Silverlight Unit Test suite is actually a Silverlight app, that runs in the browser. This is done in order to simulate the Silverlight runtime environment, which is different from desktop runtime.
Try this:
http://agunit.codeplex.com/
Related
Our team is using Silverlight 5 for development as it has features we require going forward. I have discovered that NUnit doesn't work as standard as it isn't Silverlight and that the tools available for Silverlight testing appear to primarily be aimed at running within browsers and are a pain to automate it seems.
However a lot of the code I want to test is the View Models which aren't specifically Silverlight, so I was hoping there is a way of using NUnit or similar to just test this and integrating into a build server (which is currently being decided upon)
So, is it possible to test Silverlight in this way?
I haven't tried it but looks interesting:
http://statlight.codeplex.com/
and what about third parties (maybe Telerik offers something on their testing suite).
I know it's no ideal, but if it's just VM and non dependant on UI you can link the files to a WPF project and execute the unit tests (in our case we had to share two versions the SL and the WPF one that's why we chose to test our VM in the WPF version :-)).
The unit testing from Silverlight (toolkit) I haven't found a way to link it to an automated build process
The best solution I have found is AgUnit:
http://agunit.codeplex.com/
AgUnit is an open source plugin for ReSharper. This solution of course assumes that you're using ReSharper. AgUnit allows you to run Silverlight unit tests in the ReSharper test running. Unfortunately, I just checked the AgUnit site and it looks like they only support Silverlight 5. You may want to head over there and find out about their plans for supporting Silverlight 5 though as it is a great plugin.
Prior to using AgUnit, we were using Statlight and found it to be pretty good as well, just not quite as convenient as AgUnit.
I have a solution with several Silverlight Test Projects. I would like to have some kind of script or tool with the ability of running all these test projects and generating some kind of report (any simple output will work)
I googled around for some time but I was unable to find any existent solution other than running the projects one by one from Visual Studio.
Has someone came across this situation before? Any idea on how to implement such a tool?
Regards
If you need automated testing then Test Manager is a tool from Microsoft. http://www.microsoft.com/visualstudio/en-us/products/2010-editions/test-professional/overview
http://msdn.microsoft.com/en-us/library/bb385901.aspx
and use with silverlight
http://jugalpanchal.blogspot.com/2011/09/configure-test-manager-for-silverlight.html
Use StatLight! http://statlight.codeplex.com It's a Silverlight Test Project runner exe that you can invoke from the cmdline. Its great and can be integrated into TFS Workflows as well as Msbuild.
We use SpecFlow with Selenium successfully to test our HTML applications and are looking for a similar way to test our Silverlight applications. At the moment, we are assessing these options:
SpecFlow Silverlight with Microsoft Silverlight unit test framework
Normal SpecFlow using Telerik WebAii
Has anyone tried these approaches? Can Microsoft framework test UI elements (eg click on button, assert on text value)? Are there other options?
I created a blog entry for Silverlight Unit Testing and specflow here
http://rburnham.wordpress.com/2011/05/13/testing-silverlight-asynchronous-code-with-specflow/
just note that this was a pre release built, they may have changed the syntax a bit.
but it sounds like your after UI Tests. You can use the Coded UI Tests with specflow to achieve this. I wrote a series on this as well
http://rburnham.wordpress.com/2011/03/15/bdd-ui-automation-with-specflow-and-coded-ui-tests/
To summorise you would need to do the following
Create a Test Project
Set up specflow for that project
Add a reference to your silverlight app (not the test project) for SilverlightUIAutomationHelper.dll. This allows the Coded UI Test to hook into the silverlight app
Now getting them to work together is basically the same as by second link
Just a note though Coded UI Tests do not work with out of browser silverlight apps and i think its only silverlight 4.
We have a WinForms application that we're planning to port to Silverlight. Obviously the UI will need to be totally rewritten, but we have a lot of business logic that's well-tested with NUnit tests. We use ReSharper to run the tests inside the IDE, and nunit-console to run the tests on the continuous integration machines.
As we start moving our business-logic classes into Silverlight assemblies, how do we get these unit tests to run against those Silverlight assemblies? My understanding is that NUnit can't run Silverlight tests without significant tweaking, and said tweaking (in the form of a project template) appears to be VS2008- and Silverlight 3-specific (we'll most likely be using VS2010 and Silverlight 4 for our port).
We can move our tests to another testing framework if that's the best option, but there doesn't seem to be much else besides NUnit. The Silverlight Unit Test Framework looks like it runs inside the browser, which is a non-starter for continuous integration.
I'm aware that Silverlight 4.0 assemblies can be loaded into a .NET 4.0 executable, but I'm unsure of what this means for unit testing. Would it work to compile our business-logic assembly as a Silverlight 4.0 DLL, and write a full-framework .NET 4.0 NUnit test assembly that references the Silverlight DLL? It seems like this might work, but has anyone done this successfully with unit tests?
Bottom line, what should we do for our unit tests? We need a solution that
still lets us run tests in the ReSharper test runner;
can also be run from the command line;
works in VS2010.
We don't instantiate any UI objects in our tests, so those pesky DependencyObject threading issues aren't a concern. We just need to test our Silverlight business logic.
Not sure if NUnit is supported or how difficult it would be to add, but you might check out http://AGunit.codeplex.com for ReSharper Silverlight support.
I wrote a little tool to C.I. silverlight tests and attempt to help in normal dev/tdd scenarios - you can go check out http://StatLight.codeplex.com.
You should be able to find an NUnit build for silverlight out there (there's a few). Not sure of any runners that work with NUnit in the browser. However StatLight can run some basic NUnit functionality for you.
Hope this gives you a little help.
Is there any way to get Code Coverage metrics for Silverlight 4? I have been trying to get this up and running for some time.
For a while there was code coverage in the Silverlight Unit Test Framework, but to my understanding it is now broken.
Any ideas on how I can pull off some code coverage metrics in my application?
We use ncover for measuring code coverage for our Silverlight 3 code. We use nunit testing framework. We have found ncover to be very useful along with ncover explorer which precisely points out the section of code which isn't covered by unit tests. They have a free 21-day trial edition.