Angular 4 Jasmine Spy单元测试"预期未定义为'新文本'

时间:2017-07-27 15:57:05

标签: angular typescript jasmine

我有一个简单的函数修改app.component.ts中的参数,我想用间谍测试函数。由于某种原因,我的changeText函数总是未定义的。我做错了什么?

AppComponent.ts

<LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="horizontal"
                android:gravity="end">

AppComponent.spec.ts

export class AppComponent {
    text = "My text";

    changeText = function () {
        this.text = "New text";
        return this.text;
    }
}

1 个答案:

答案 0 :(得分:1)

如果实际上仍然是

,请尝试添加此更改

改变这个:

expect(app.changeText()).toBe("New text");
expect(app.changeText).toHaveBeenCalledTimes(1);

为:

app.changeText();
expect(app.text).toBe("New text");
expect(app.changeText).toHaveBeenCalled();