Javascript 如何为Y.io编写适当的测试
我目前正在尝试使用YUI3和TDD方法编写一个应用程序。我遇到了一个问题,我不知道如何正确地编写测试来测试利用 根据,他们讨论了模拟对象和Javascript 如何为Y.io编写适当的测试,javascript,testing,tdd,yui,yui3,Javascript,Testing,Tdd,Yui,Yui3,我目前正在尝试使用YUI3和TDD方法编写一个应用程序。我遇到了一个问题,我不知道如何正确地编写测试来测试利用 根据,他们讨论了模拟对象和XMLRequestObject.这正是我试图模拟的对象。但是当我使用Y.io而不是XMLRequestObject时,我不知道该怎么做 以前有人遇到过这种情况吗?您可以告诉Y.IO使用默认的XMLRequestObject以外的自定义传输。可能还有其他方法可以将自定义传输添加到Y.IO,但这对我很有用: 创建一个函数,将自定义传输模式mock补丁到Y.IO:
XMLRequestObject.
这正是我试图模拟的对象。但是当我使用Y.io
而不是XMLRequestObject
时,我不知道该怎么做
以前有人遇到过这种情况吗?您可以告诉
Y.IO
使用默认的XMLRequestObject
以外的自定义传输。可能还有其他方法可以将自定义传输添加到Y.IO
,但这对我很有用:
创建一个函数,将自定义传输模式mock补丁到Y.IO
:
function _createMockTransport(mockXHR) {
Y.IO.transports.mock = function () {
return mockXHR;
}
}
然后,在设置功能中,添加以下变量:
// I change the Y.IO instantiation configuration when instantiating my application
this.application = new Application({ yIOConfig: { xdr: { use: 'mock' }}})
this.xhr = Y.Mock();
Y.Mock.expect(this.xhr, {
method: 'send',
args: [Y.Mock.Value.Object, '/foo', Y.Mock.Value.Object]
});
_createMockTransport(this.xhr);
示例测试如下所示:
"test /foo": function () {
this.appliation.doServerCall();
Y.Mock.verify(this.xhr);
},
您能否提供有关要运行的测试类型的更多详细信息?根据要运行的
Y.io
测试的类型,最好使用它来运行它们。我们在YUI中自己的Y.io
测试中也使用了这个。