- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在测试 Backbone Marionette 应用程序。测试页面由以下脚本组成:
<script src="../testing/lib/jasmine-1.3.1/jasmine.js"></script>
<script src="../testing/lib/jasmine-1.3.1/jasmine-html.js"></script>
<script src="js/app.spec.js"></script>
奇怪的是,我一直收到这个错误:
Uncaught TypeError: Cannot read property 'SuiteView' of undefined
我查看了堆栈跟踪。 jasmine.HtmlReporter
准备在所有测试完成后输出测试摘要。它调用jasmine.HtmlReporterHelpers.appendToSummary
, 其中jasmine.HtmlReporter
是undefined
,如下面的截图所示。
对象方法找不到自己。这怎么可能发生?
最佳答案
Uncaught TypeError: Cannot read property 'SuiteView' of undefined
SuiteView
是当前正在执行的套件的属性,在本例中是缺失的。 Jasmine 具有以下生命周期:
var jasmineEnv = jasmine.getEnv (); //Initialize Environment
jasmineEnv.updateInterval = 1000;
var htmlReporter = new jasmine.HtmlReporter (); //Initialize Reporter
jasmineEnv.addReporter (htmlReporter); //Add Reporter
jasmineEnv.execute (); //Start Suite
这是一个完整的脚本:
<script>
function load()
{
var description = location.hash.match(/".+"/).toString().replace(/"/g,"");
var spec = location.hash.match(/function.+}/).toString();
var result = Function("return " + spec)();
var len = jasmine.getEnv().topSuite().children.length;
var test;
var suite;
var suite_name;
var reporter_args;
var reporter_methods;
var i;
test = jasmine.getEnv().it(description, result);
suite = jasmine.getEnv().topSuite().children[len];
reporter_args = jasmine.HtmlReporter.toString().match(/options\.[a-zA-Z]+/g);
reporter_methods = jasmine.HtmlReporter.toString().match(/this\.[a-zA-Z]+/g)
var suite_name = suite.fullname;
for(i = 0; i < len; i++)
{
jasmine.getEnv().topSuite().children.shift();
}
jasmine.getEnv().execute(suite_name);
}
</script>
引用资料
Step by Step Guide for Unit Testing ExtJS Application using Jasmine
jasmine-standalone-requirejs/README.md at master · pirelenito/jasmine-standalone-requirejs
AngularJS Starter with Jasmine unit testing integrated (for usage in "http://plnkr.co/")
Integrating the Jasmine test runner for Chrome extension development
esbie/jasmine-bootstrap: A Jasmine HTML runner that uses Twitter's Bootstrap to look beautiful
关于javascript - Jasmine HtmlReporter 调用自身,发现自己未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18902073/
您通常会在类名或方法名中使用良好或有些成熟的缩写。但是您如何使用 CamelCase 或 camelBack? HTMLReport 与 HtmlReport CustomerDAO 与 Custom
我正在测试 Backbone Marionette 应用程序。测试页面由以下脚本组成: Jasmine : Jasmine HTML 记者: 我的规范: 设置:已复制 window.onload 代码
我正在尝试将自动测试的屏幕截图添加到我的 pytest-html 报告中 我已添加到plugin.py: def pytest_runtest_makereport(__multicall__, it
我正在制作一个演示 Canopy 的演示文稿我正在尝试让 LiveHtmlReporter 工作,但没有成功。到目前为止,我已经能够打开显示模板的浏览器并将报告保存到磁盘,但报告永远不会随着测试运行的
我需要在 Protractor 中生成测试报告。我浏览了一些教程,但这些教程对我来说并不清楚。 当我尝试安装 npm 时,出现以下错误。 运行后,将创建名为 node_modules 的文件夹。但是,
我是一名优秀的程序员,十分优秀!