У меня есть следующий код:
class Clients
constructor : ->
@clients = []
createClient : (name)->
client = new Client name
@clients.push client
Я тестирую его с Жасмин BDD, как это:
describe 'Test Constructor', ->
it 'should create a client with the name foo', ->
clients = new clients
clients.createClient 'Foo'
Client.should_have_been_called_with 'Foo'
it 'should add Foo to clients', ->
clients = new clients
clients.createClient 'Foo'
expect(clients.clients[0]).toEqual SomeStub
В моем первом тесте я хочу проверить, вызывается ли конструктор с правильным именем. Во-вторых, я просто хочу подтвердить, что все, что вышло из нового Клиента, было добавлено в массив.
Я использую Jasmine BDD, и у него есть способ создания шпионов / насмешек / заглушек, но кажется, что невозможно проверить конструктор. Поэтому я ищу способ протестировать конструктор, было бы неплохо, если бы был способ, при котором мне не нужна дополнительная библиотека, но я открыт для всего.