• About
  • Privacy Policy
  • Utilities
Darchuk.NET

unit testing

Jasmine & TypeScript–Calling and spying on private members

September 7, 2018 by Robert Leave a Comment

There’s some debate as to whether or not you should test private members in a class.  Generally, I fall in to the “if it makes sense to test it, test it” camp.  If there’s a private method that is only accessible by a hard-to-mock series of callbacks or events, I would much rather write a … [Read more…]

Posted in: Angular, Jasmine, JavaScript, Typescript, Unit Testing, Web Development Tagged: JavaScript, Private, Public, Testing, Typescript, unit testing

Testing Observables in Angular >= 6.0.0

August 17, 2018 by Robert Leave a Comment

In a previous post I talked about testing Observables in your Angular code.  This is pretty common, because HttpClient sends back an Observable<T> – so if you want to spyOn that function, you’ll need to figure out how to return an Observable. I’ve been bouncing around a couple of projects/repos recently, and it turns out … [Read more…]

Posted in: Angular, Asynchronous, Jasmine, Typescript, Unit Testing Tagged: Angular, Jasmine, Observable, rxjs, Testing, Typescript, unit testing

Jasmine–Async callback was not invoked within timeout

August 10, 2018 by Robert Leave a Comment

Recently I was updating and fixing some existing unit tests after doing a (rather large) overhaul of code.The unit test previously needed to wait for an asynchronous callback to finish before continuing, something like this: Note the optional done parameter provided to beforeEach.  This is a void function that signals Jasmine that the callback is … [Read more…]

Posted in: Angular, Asynchronous, Concurrency, Jasmine, JavaScript, Typescript, Web Development Tagged: async, Asynchronous, beforeEach, Callback, Jasmine, specified, test, Testing, timeout, unit testing

TypeScript unit testing–Checking to see if the values of two arrays are equal

August 3, 2018 by Robert Leave a Comment

In Jasmine, you can expect an object toBe another object. However, this will check to see if the two arrays point to the same reference object.  In other words, it will check to see if the arrays point to the same memory address. Produces this not-very-helpful error message: Expected [ 42, ‘Forty-Two’ ] to be … [Read more…]

Posted in: Angular, Jasmine, Typescript, Unit Testing, Web Development Tagged: Jasmine, Karma, Testing, toBe, toEqual, Typescript, unit testing

Unit Testing Angular–initializing an object in ngOnInit

July 27, 2018 by Robert Leave a Comment

Recently I had a problem where in an Angular unit test where I had an object that was being initialized in ngOnInit from a service.  As far as I could tell, everything should be working, but the test would fail because I was trying to set a property on the object before it had finished … [Read more…]

Posted in: Angular, Debugging, Jasmine, Typescript, Unit Testing, Web Development Tagged: Angular, Jasmine, Karma, ngOnInit, Testing, Typescript, unit testing

Karma / Jasmine Unit Test Cheat Sheet

June 8, 2018 by Robert Leave a Comment

I find that writing unit tests in JavaScript kind of sucks, so this post will (hopefully) serve as a cheat sheet of all the stuff I keep looking up.  As such, it will be updated as I learn new stuffs. How To: scope test run to specific tests Remember to set it back before you … [Read more…]

Posted in: Angular, AngularJS, Jasmine, JavaScript, Typescript, Unit Testing, Web Development Tagged: Cheatsheet, Guide, Jasmine, JavaScript, js, Karma, Testing, ts, Typescript, unit testing

ASP.NET MVC — Unit Testing IActionResult

April 13, 2018 by Robert Leave a Comment

In the last post I talked about using and extending IActionResult to return your preferred HttpStatus code in your ASP.NET MVC controllers.  But how do you write unit tests that make sure that you’re returning what you expect?  Your controllers will return one of these: IActionResult There’s nothing on this interface that you can easily … [Read more…]

Posted in: .NET Core, ASP.NET, C#, MVC, Unit Testing, Web API, Web Development Tagged: .NET Core, ASP.NET, C#, Controller, IActionResult, MVC, unit testing, XUnit

Autofac.Extras.Moq AutoMock

March 23, 2018 by Robert Leave a Comment

Unit testing can be annoying.  Sometimes it feels like setting up a delicate house of cards in just the right way and hoping that nobody opens a window to let a breeze knock the whole thing over. If you’re using inversion of control (and you should be), its a little easier because you can use … [Read more…]

Posted in: .NET Core, C#, IoC, Unit Testing Tagged: AutoFac, C#, Mock, Moq, unit testing

Moq sequential callbacks

February 2, 2018 by Robert Leave a Comment

In the last blog post I talked about how to use Moq’s built in SetupSequence to create a “chain” of actions to execute for subsequent calls of the same mocked method. This works great for the simple case, but falls down when you have to do something a little more complicated like, say, issue a … [Read more…]

Posted in: C#, Unit Testing Tagged: C#, Callback, Moq, Sequence, Sequential, unit testing

Moq sequential calls

January 26, 2018 by Robert 1 Comment

Say that you’re unit testing and you want a mocked interface to behave differently for different calls to the same method. I was trying to test a TCP listener loop – a TcpListener waits for an incoming connection, does something with it, and then goes back to listening.  In essence, the loop will last until … [Read more…]

Posted in: Asynchronous, C#, Unit Testing Tagged: C#, Concurrency, Moq, unit testing
« Previous 1 2 3 Next »

Recent Posts

  • Allowing trailing JSON commas in ASP.NET Core 3
  • YADNC3JSG–Yet Another .NET Core 3.0 JSON Serializer Gotcha
  • Logging in a .NET Core 3 SignalR client
  • .NET Core 3 unit testing project sdk
  • .NET Core 3.0 Upgrade–New JSON Serializer Gotchas

Recent Comments

  1. Robert on C# Setting Socket Keep-Alive
  2. Oliver Schramm on C# Setting Socket Keep-Alive
  3. John Anderson on Waiting for a keypress asynchronously in a C# console app
  4. Ronald Garlit on .NET Core 3 unit testing project sdk
  5. Ronald Garlit on .NET Core 3 unit testing project sdk

Copyright © 2025 Darchuk.NET.

Omega WordPress Theme by ThemeHall