单元测试 Java 脚本 - 使用 QUnit 伪造 XRM
Unit Testing Java Script - Fake XRM with QUnit
我有一个 js
函数,我想使用 QUnit
对其进行单元测试。这是一个简单的函数,我在其中传递要从表单中隐藏的字段名称。我也在使用这里的 Mocking 框架:[link] https://github.com/ambek/XrmPage-Mock
function HideField(field) {
Xrm.Page.getControl(field).setVisible(false);
};
我的 Tests.js 文件如下所示:
var Xrm;
QUnit.test("Testing Hide Field Function", function (assert) {
var PageControls = new Array();
PageControls.push(CreateSimpleControlWithAttribute("NewField", "M", "Type of Residence"));
var page = new XrmPageMock("{607C16D1-7C53-4023-B20B-13E4F1C6A9D3}", PageControls, 1);
Xrm = new XrmPageMock(page);
HideField('NewField');
assert.equal(XRM.page.getControl('NewField').getVisible(),false, 'Passsed');
});
在执行我的测试时,我得到这个错误:
Unable to get property 'getControl' of undefined or null reference
有谁知道为什么我的 mocking/faking 出错了?
这只是以下语句中的错字:
assert.equal(XRM.page.getControl('NewField').getVisible(),false, 'Passsed');
新语句是(更正单词"page")
assert.equal(XRM.Page.getControl('NewField').getVisible(),false, 'Passsed');
我有一个 js
函数,我想使用 QUnit
对其进行单元测试。这是一个简单的函数,我在其中传递要从表单中隐藏的字段名称。我也在使用这里的 Mocking 框架:[link] https://github.com/ambek/XrmPage-Mock
function HideField(field) {
Xrm.Page.getControl(field).setVisible(false);
};
我的 Tests.js 文件如下所示:
var Xrm;
QUnit.test("Testing Hide Field Function", function (assert) {
var PageControls = new Array();
PageControls.push(CreateSimpleControlWithAttribute("NewField", "M", "Type of Residence"));
var page = new XrmPageMock("{607C16D1-7C53-4023-B20B-13E4F1C6A9D3}", PageControls, 1);
Xrm = new XrmPageMock(page);
HideField('NewField');
assert.equal(XRM.page.getControl('NewField').getVisible(),false, 'Passsed');
});
在执行我的测试时,我得到这个错误:
Unable to get property 'getControl' of undefined or null reference
有谁知道为什么我的 mocking/faking 出错了?
这只是以下语句中的错字:
assert.equal(XRM.page.getControl('NewField').getVisible(),false, 'Passsed');
新语句是(更正单词"page")
assert.equal(XRM.Page.getControl('NewField').getVisible(),false, 'Passsed');