Тест Жасмин не создает новый экземпляр класса - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь применить тест Jasmine к моей программе JS (просто игра), и она по какой-то причине не создает новых экземпляров. Может быть, некоторые из вас помогут мне найти ошибку.

'use strict';


describe('logic(bingo)',function() {
    var bin
    beforeEach(function() {
        bin = new Bingo('Alex')
    })

    it('should throw error if name is not a string',function() {
        bin=new Bingo()
        expect(function() {
            return bin.name
        }).toThrowError('Input a string name')
    })

    it('should board.length===3 and board[0].length===5',function() {
        expect(bin.board.length).toBe(3)
        expect(bin.board[0].length).toBe(5)
    })
    }

Бен не хранит «новое бинго». Это остается неопределенным. Этот класс Бинго объявлен в другом файле, ссылки верны.

Заранее спасибо.

1 Ответ

0 голосов
/ 29 апреля 2018

как вы выдаете ошибку, если имя не указано или не является строкой?

я думаю, что это должно быть в конструкторе и что-то вроде:

...
if(!name || typeof name !== 'string') {
  throw new Error('Input a string name');
}
...

, а также проверка на то, что оно генерируется при создании экземпляра, а не при получении:

    it('should throw error if name is not a string',function() {
      expect(function() {
        new Bingo(1)
      }).toThrowError('Input a string name')
    })

вот рабочий планка http://plnkr.co/edit/Z4wT9s

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...