我用的是3.4.0版
我对YUI有一个奇怪的问题。测试断言。下面是一个示例:
YUI().use('test', 'node', 'node-event-simulate',
function(Y) {
var runner = Y.Test.Runner;
var someTestCase = new Y.Test.Case({
name : 'SomeMeaningfulName',
setUp : function() {
var test = this;
// create show details link
test.Y$aLink = Y.Node
.create('<a href="//some.fake.url.ie">Show details</a>');
Y.one('body')
.append(test.Y$aLink);
},
tearDown : function() {
this.Y$aLink.remove();
},
testEventListener : function() {
var test = this;
test.Y$aLink
.on('click', function(e) {
e.preventDefault();
// this codes works
console.log('on click event');
// this one doesn't fail
// it "works" perfectly when it's outside of the callback
Y.assert(false, 'false is true');
});
test.Y$aLink.simulate('click');
}
});
runner.add(someTestCase);
runner.run();
});
当断言在事件的回调中时,它永远不会失败:(文档中没有提到这种情况...
也许我做错了什么,但是缺少文档很难确定...
更新
没有等待/恢复的示例:http://jsfiddle.net/op1ekun/Fgra6/2/
和具有等待/恢复 http://jsfiddle.net/op1ekun/Fgra6/5/
更新2
已经报告了类似的情况,它涉及异步测试问题,但这并不是我的问题:http://yuilibrary.com/projects/yuitest/ticket/74
更新3
这似乎正是我正在经历的,看起来是Billy已经提出的解决方案,有趣的是使用依赖注入,这可能值得一试:http://csausdev . WordPress . com/2011/02/12/unit-testing-callbacks-with-yui-test/
请帮忙!谢谢!
YUI测试有一个等待和恢复机制,你可以在这种情况下利用。您告诉它等到调用 resume
方法,并且 resume
方法会进行回调,您可以在其中安全地进行断言。在你的情况下,它看起来像这样:
'test event listener': function () {
var test = this;
test.Y$aLink.on('click', function (e) {
e.preventDefault();
test.resume(function () {
Assert.fail('ouch!');
});
});
test.wait();
test.Y$aLink.simulate('click');
}
当我尝试执行一个新的单元测试用例时,它会显示以下错误。 注意:我没有特权设置路径,因为我已经将chrome web驱动程序放在D驱动器中。 测试在14:56开始。。。C:\Users\xxx.xxxx\PyCharm项目\Automation\venv\Scripts\python.exe“C:\Users\xx.xxx\AppData\Local\JetBrains\PyCharm社区版2019
迁移工作得很好,但事务根本不起作用。 我尝试公开我的设置: 运行在docker容器中的MariaDB 10.1(我已经证明了测试中使用的所有表都在InnoDB中,因此支持事务处理) 基测试类正在使用 我尝试了一个单独的连接与一起进行测试,并使用默认连接进行测试。事务也不起作用
我使用assertJ,在我的测试用例中有多个assertThat断言。当第一个断言失败时,测试就完成了,但我不希望这样。我想知道测试用例单次执行后所有失败断言的信息。有什么办法可以做到吗?我在这里找到了SoftAssertions的解决方案->http://joel-costigliola.github.io/assertj/assertj-core-features-highlight.html
我已经在Netbeans上通过JS测试驱动程序设置了JavaScript单元测试。然而,与该教程中的结果不同,断言失败后不会执行更多测试。我怎样才能改变这种行为? 例如,给定此测试文件: 文件: 进度条显示50%,(2次测试),应该是33%。 文件: 我可以通过命令行运行所有测试。(在Windows PowerShell上)。按如下方式运行,失败后测试不会停止运行: java-jar$env: J
问题内容: 我有一个Jenkins作业,它通过Nightwatch.js框架在Browserstack上运行Selenium测试。我们有一套完整的测试程序,可以让守夜人在不同的进程中运行,并且我们需要一种在所有测试运行后将通过/失败值返回给Jenkins的方法。 我一直在尝试使用Nightwatch挂钩在每个模块的末尾运行一段代码,但是我无法弄清楚需要采取什么措施才能使Jenkins作业可以访问该
问题内容: 当Windows上的Visual C ++断言失败时,调试器将停止,显示消息,然后让您继续(或者,如果未运行调试会话,则为您启动Visual Studio)。 在Linux上,assert()的默认行为似乎是显示错误并退出程序。由于我所有的断言都通过宏进行,因此我尝试使用信号来解决此问题,例如 但是,尽管GDB(通过KDevelop)停在了正确的位置,但我似乎无法继续过去,并且在GDB