次のコードをテストするためのジャスミンテストコードを書いています
validatePage : function(siteIndex) {
var errorList = '';
var siteVal = solution.CommonObjects.theSolution.sites[siteIndex];
}
sitevalの値にさらに操作があります
私は次のコードを書きました
describe("order handoff site test suites",function(){
beforeEach(function(){
var solution =
{
CommonObjects:
{
theSolution:
{
sites:
[
{
floor:""
}
]
}
}
}});
var ordrHandoffSites = new orderHandoffSite();
it("expect true to be true",function(){
console.log("AHV55" + typeof(solution.CommonObjects.theSolution.sites [0].floor));
ordrHandoffSites.validatePage(1);
})
このコードはrequire.jsを使用しているため、コンソールログを確認している間、ordrHandoffSitesはvalidatepageのコードを含むファイルのオブジェクトにすぎません。文字列値が表示されますが、コードが壊れています。
var siteVal = solution.CommonObjects.theSolution.sites[siteIndex];
未定義のプロパティ「floor」を読み取れません
観察:
solution
オブジェクトのスコープは、あなたに限定されるbeforeEach
機能、ひいてはそれが戻っているundefined
エラーを。のrequire.js
代わりにダミーオブジェクトをモック&使用しましたordrHandoffSites
が、(require.jsを使用して)主に同じように動作するはずです。ここで実際の動作を確認してください
var solution;
var testObj = {
validatePage: function(siteIndex) {
var errorList = '';
var siteVal = solution.CommonObjects.theSolution.sites[siteIndex];
}
};
describe("order handoff site test suites", function() {
beforeEach(function() {
solution = {
CommonObjects: {
theSolution: {
sites: [{
floor: ""
}]
}
}
}
});
it("expect true to be true", function() {
console.log("AHV55==> " + typeof(solution.CommonObjects.theSolution.sites[0].floor));
testObj.validatePage(1);
expect(true).toBe(true);
});
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加