0

我有一个发出 JS 对象的 observable,我想在我的测试中断言我所做的 observable 转换将产生正确的 JS 对象。问题是我不明白 rx.js 正在使用什么样的断言,因为应该失败的测试正在通过。

例如,我希望这个基于示例目录中的测试失败,但它没有。请注意,产生的值为{ 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 没有使用引用相等,也没有使用结构相等。

4

1 回答 1

0

您是否在控制台中查找错误?JS 测试框架通常在面对访问undefined.

没有看到你的整个 JS 文件,我只能猜测你没有定义你的全局变量:TestScheduler, Observable, CollectionAssert, onNext, onCompleted.

于 2013-07-31T17:39:49.013 回答