2017-10-20 74 views
0

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

describe("getMovieSuggestions", function() { 

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

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

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

我看到的教程,会从字面上做expectedResult = getMovieSuggestions(parameters)

难道这不会破坏测试的目的吗?

+0

您应该对其中的数据进行硬编码,或者从您试图模仿的另一个程序获取数据。 –

+0

您需要提前知道您期望结果的样子。 – djfdev

回答

0

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

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

不打败的目的,仍然可能会失败,如果调用之间的数据变化。

相关问题