Конструктор макета / заглушки

У меня есть следующий код:

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, и у него есть способ создания шпионов / имитаторов / заглушек, но, похоже, проверить конструктор невозможно. Итак, я ищу способ протестировать конструктор, было бы неплохо, если бы мне не понадобилась дополнительная библиотека, но я открыт для всего.

7
задан Pickels 25 September 2011 в 22:09
поделиться