如何在单元测试中正确定义预期结果?

时间:2017-10-20 01:36:05

标签: javascript unit-testing jasmine mocha karma-jasmine

我正在学习Jasmine的单元测试,但我很困惑如何定义我的预期结果。

describe("getMovieSuggestions", function() {

  it("should return movie suggestions", function() {
     parameters = parameters;

    expect(getMovieSuggestions(parameters)).toBe(expectedResult);
  });
});

在这种情况下,我应该如何定义expectedResult

我看到的教程实际上就是expectedResult = getMovieSuggestions(parameters)

这不会破坏进行测试的目的吗?

1 个答案:

答案 0 :(得分:0)

如果getMovieSuggestions函数为每次调用返回不同的数据,那么您必须mock函数(或其依赖项)并确保它每次都返回相同的数据。

否则

 expectedResult = getMovieSuggestions(parameters)
 ...
 expect(getMovieSuggestions(parameters)).toBe(expectedResult);
如果数据在调用之间发生变化,

确实会失败,但仍然会失败。