我尝试将另一个测试添加到我现有的 .opa.qunit.js 文件中,该文件需要完全重新启动我的应用程序。我尝试在我的测试中调用"iTeardownMyAppFrame",然后再次调用"iStartMyAppInAFrame"以确保干净的设置。
起初显示iFrame,但立即关闭,一段时间后测试超时。下面的两种方法都只调用"iTeardownMyAppFrame"和"iStartMyAppInAFrame",没有别的。
opaTest("FirstTest", function(Given, When, Then) {
Given.iStartTheSampleApp();
//Testlogic
});
opaTest("TestWithCleanState", function(Given, When, Then) {
Given.iShutdownTheApp();
//Until here everything above works fine
Given.iStartTheSampleApp();
//Testlogic
});
//EOF
控制台上没有错误,只有每秒重复两条消息:
sap-ui-core.js:15219 2015-03-11 10:05:37 Opa check was undefined -
sap-ui-core.js:15219 2015-03-11 10:05:37 Opa is executing the check: function () {
if (!bFrameLoaded) {
return;
}
return checkForUI5ScriptLoaded();
} -
"iTeardownMyAppFrame"的预期功能是什么?它应该只用于在所有测试结束时拆除整个测试吗?或者它也可以用于重置应用程序以确保测试开始时的干净状态?如果是这种情况,它应该如何工作?
谢谢
Teardonw 删除了 iframe,在下一次测试中,您必须再次启动它。这样,您可以编写可以独立运行的单独测试。
这里有一个例子:
具有 2 个隔离测试的 Opa 样品
如果在 test2 上按下重新运行按钮,它将独立执行,不依赖于 test1
溴,托比亚斯