Skip to main content

setup Chutzpah for running unit test


Chutzpah is a open source javascript test runner that allows you to run unit test using qunit, jasmine, mocha, coffeescript and most importantly typescript.

What in the world are you using Chutzpah for unit testing? Well, many teams started to writing their
angularjs code in typescript.

In this post, we're going to run our typescript unit test. First we need to setup our tool.

1. install Chutzpah test runner context menu extension - this allows you to right click on a file and runs a test. Life is easy.

Restart  your visual studio and you're good to go.

2. You probably need to setup jasmine as your unit testing framework. For more information, please  following instruction here.

Lets start with configuring our test runner and we're going to go with jasmine. Let's create new file called chutzpah.json and it should have the following contents :-



Lets create a simple typescript test and you can right click on it to run a unit test.

Debugging jasmine unit test

To debug unit test in jasmine using Chutzpah, you need to right click on the typescript test and then choose "open in browser". Go to chrome developer tool mode, proceed to  'Sources' and then you look for "yourUnitTest.test.js" file as shown below :-




Place a breakpoint and then hit refresh. You are now in debug mode - easy! :)

References 

Jasmine testing with typescript 101

https://angular.io/docs/ts/latest/testing/jasmine-testing-101.html

Jasmine unit test result matcher

http://jasmine.github.io/2.0/introduction.html

Comments

Popular posts from this blog

Android Programmatically apply style to your view

Applying style to your view (button in this case) dynamically is pretty easy. All you have to do is place the following in your layout folder (res/layout)
Let's call this file : buttonstyle.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" > <shape> <solid android:color="#449def" /> <stroke android:width="1dp" android:color="#2f6699" /> <corners android:radius="3dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item> <item> <shape> <gradient android:startColor="#449def" a…

DataTable does not have AsEnumerable

I have problem locating my AsEnumerable extension method in my DataTabe (System.Data). Thank god for this post by Angel
(http://blogs.msdn.com/angelsb/archive/2007/02/23/does-not-contain-a-definition-for.aspx)

I was able to find this method once i have added reference to the following assembly.

C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Data.DataSetExtensions.dll

Try to do a dummy Build and you should be able to get it.

OpenCover code coverage for .Net Core

I know there are many post out there getting code coverage for .dotnetcore. I'm using opencover to address this needs.

In case, you do no want to use opencover and wanted to stick with vs2015 code coverage, you can try to copy Microsoft.VisualStudio.CodeCoverage.Shim.dll from C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Dynamic Code Coverage Tools\coreclr\ and drop it into your project "bin\Debug\netcoreapp1.0" folder.  Please note : you need to be on VS2015 Enterprise to do this. 

To get started, I guess we need to add OpenCover and ReportGenerator for our test projects, as shown in diagram below :-



When nuget packge gets restored, we will have some binaries downloaded to our machine and we going to use this to generate some statistics. I think the biggest issue is to getting those command lines work.

In dotnetcore, we run test project using "dotnet test" (assuming you are in the test project folder - if not please go there)  So we add this …