У меня есть следующий код:
class Clients
constructor : ->
@clients = []
createClient : (name)->
client = new Client name
@clients.push client
Я тестирую его с помощью Jasmine 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, и у него есть способ создания шпионов / имитаторов / заглушек, но, похоже, проверить конструктор невозможно. Итак, я ищу способ протестировать конструктор, было бы неплохо, если бы мне не понадобилась дополнительная библиотека, но я открыт для всего.