• About
  • Privacy Policy
  • Utilities
Darchuk.NET

Unit Testing

Unit Testing NgbModal Modal Service

January 18, 2019 by Robert Leave a Comment

In the last blog post I showed how you could extend NgbModal to make a Modal Service, letting you re-use modal dialogs easily from within your Angular components. Even though its not always that much fun, I like to try and keep testability in mind when writing code… and, I’ll admit it, sometimes I gloss … [Read more…]

Posted in: Angular, Jasmine, JavaScript, Typescript, Unit Testing, Web Development Tagged: Angular, Dialog, Modal, NgbModal, Testing, Unit Test

RxJS 6 testing error paths

December 7, 2018 by Robert Leave a Comment

In a previous post I talked about how to use Observable.throw to simulate an Observable error in a unit test.  However, in RxJS 6, the syntax changed a bit.  I also talked about this a bit in this post about using of to create Observables on the fly for testing in RxJS 6, but I … [Read more…]

Posted in: Angular, JavaScript, Typescript, Unit Testing, Web Development Tagged: Observable, rxjs, RxJS6, Testing, throwError, UnitTesting

Angular HttpClient unit testing

November 23, 2018 by Robert 2 Comments

There’s several tutorials for how to use and test HttpClient, but I wanted to distill it down to a simple snippet that I can refer back to when I inevitably forget how to do it. via GIPHY HttpTestingController This handy thing is provided by importing the HttpClientTestingModule in to your TestBed.  It lets you manipulate … [Read more…]

Posted in: Angular, Asynchronous, Jasmine, Typescript, Unit Testing, Web API, Web Development Tagged: Angular, HttpClient, Mock, Testing, unit testing

Angular Unit Testing–Cannot read property ‘ngInjectableDef’ of undefined

October 5, 2018 by Robert 12 Comments

Recently, I was writing some unit tests for Angular.    It was a pretty basic test, just checking to see if a method on an injected provider was called when a method in my component executed… but suddenly everything blew up with this weird error: TypeError: Cannot read property ‘ngInjectableDef’ of undefined Googling around didn’t really … [Read more…]

Posted in: Angular, Jasmine, JavaScript, Typescript, Unit Testing Tagged: Angular, Jasmine, Testing, Typescript, unit testing

Jasmine–Setting the clock and deferring assertions

September 21, 2018 by Robert Leave a Comment

Sometimes when you’re writing Javascript unit tests you have to give Javascript a chance to catch up before checking your assertions.  Javascript uses a single event loop, so it isn’t multi-threaded in the same way as other languages.  You can still get a “multi-threaded feel” by using callbacks (promises, observables, etc), but at the end … [Read more…]

Posted in: Asynchronous, Jasmine, JavaScript, Typescript, Unit Testing, Web Development Tagged: Asynchronous, Jasmine, JavaScript, Testing, Typescript, unit testing

Jasmine–Testing code that contains setTimeout

September 14, 2018 by Robert Leave a Comment

Recently I wrote some code that contained a setTimeout.  The reason was so that the UI could catch up before the function actually fired – something that I’ve found the need to do with javascript from time to time. So, when it comes to testing the code… my test just skipped along until it literally … [Read more…]

Posted in: Angular, Asynchronous, Concurrency, Jasmine, JavaScript, Typescript, Unit Testing, Web Development Tagged: Angular, async, Jasmine, setTimeout, Testing, Typescript, 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

C# Unit Testing object equality without implementing .Equals

August 24, 2018 by Robert Leave a Comment

Recently I was trying to write a unit test testing to see if one object was equal to another.  The objects themselves were simple, just a collection of built-in types, so it should be easy to test. .Equals However, since I didn’t implement .Equals, C# doesn’t natively know how to check if the objects are … [Read more…]

Posted in: C#, Reflection, Unit Testing Tagged: C#, Csharp, Equals, PixieDust, Reflection, Testing, UnitTesting

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

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
« Previous 1 2 3 4 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