Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为Y.io编写适当的测试_Javascript_Testing_Tdd_Yui_Yui3 - Fatal编程技术网

Javascript 如何为Y.io编写适当的测试

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:

我目前正在尝试使用YUI3和TDD方法编写一个应用程序。我遇到了一个问题,我不知道如何正确地编写测试来测试利用

根据,他们讨论了模拟对象和
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
测试中也使用了这个。