У меня есть один компонент реакции, и внутри этого компонента есть одна функция. Я хочу написать для этого блок-тест. Ниже приведен пример тестового блока. имя функции getNewGroupNameЕдиница измерения функции компонента в реакциях с использованием кармы и жасмина
describe("CreateGroupName component",() => {
it("Correct Copy name should be generated for first copy",() => {
component = ReactTestUtils.renderIntoDocument(< CreateGroupName reactor = {
reactor
} > < /CreateGroupName>);
expect(component.getNewGroupName("SampleGroupName")).tobe("SampleGroupName - Copy(1)")
});
});
Но когда я бегу тестовых единиц я получаю ниже ошибки
TypeError: не определено не конструктор (оценка «e.getNewGroupName („SampleGroupName“)»)
Изучив объект с помощью отладчика, я могу увидеть только свойство ниже этого объекта.
Я также пытался писать выше тест с использованием фермента библиотеки. Но оба дают мне тот же объект в результате.
it("Correct Copy name should be generated for first copy",() => {
const wrapper = enzyme.mount(<CreateGroupName reactor={reactor}></CreateGroupName>);
const inst = wrapper.instance();
expect(inst.getNewGroupName('SampleGroupName')).toBe("SampleGroupName - Copy(1)");
});
Вот мой компонент
трассировки стека, как показано ниже
"TypeError: t.getNewGroupName is not a function
at Object.<anonymous> (http://localhost:9876/base/app/spec/webpack.loader.js:96:18873)
at attemptSync (http://localhost:9876/base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1886:24)
at QueueRunner.run (http://localhost:9876/base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1874:9)
at QueueRunner.execute (http://localhost:9876/base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1859:10)
at Spec.queueRunnerFactory (http://localhost:9876/base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:697:35)
at Spec.execute (http://localhost:9876/base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:359:10)
at Object.fn (http://localhost:9876/base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:2479:37)
at attemptAsync (http://localhost:9876/base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1916:24)
at QueueRunner.run (http://localhost:9876/base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1871:9)
at http://localhost:9876/base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:1898:16"
Как выглядит компонент CreateGroupName? Обычно это происходит, когда он не возвращает что-то должным образом. –
Как насчет '.toBe()' вместо '.tobe()'? –
Я исправил это, но все же он не работает – Sachin