我有一个可以发出JS对象的observable,我想在我的测试中声明我所做的可观察转换会产生正确的JS对象。问题是我不明白rx.js正在使用什么类型的断言,因为应该失败的测试正在通过。
例如,我希望此测试based on one from the examples directory失败,但事实并非如此。请注意,生成的值为{ prop: 42 }
,预期值为{ prop: 43 }
。
test('returnValue Basic', function () {
var scheduler = new TestScheduler();
var results = scheduler.startWithCreate(function () {
return Observable.returnValue({ prop: 42 }, scheduler);
});
var expectedMessages = [
onNext(201, { prop: 43 }),
onCompleted(201)
];
CollectionAssert.assertEqual(expectedMessages, results.messages);
});
有谁知道问题是什么,我该如何解决?我理解JavaScript中的对象相等,但这是下一步。从上面的测试中可以明显看出,rx.js没有使用引用相等,也没有结构相等。
答案 0 :(得分:0)
您是否在控制台中查找错误? JS测试框架通常面对访问undefined
上的属性的测试代码。
如果没有看到整个JS文件,我只能猜测你没有定义全局变量:TestScheduler
,Observable
,CollectionAssert
,onNext
,{{1} }。