草庐IT

javascript - 为 TDD JavaScript 模拟用户输入

我发现使用jQuery或native元素触发函数模拟实际用户事件越来越困难。例如,如果您有文本输入并且不希望用户能够添加字符,则可以使用e.preventDefault()上的jQuery规范化事件对象调用keydown事件。但是,无法以编程方式验证此测试场景。即使没有调用preventDefault,以下测试也会通过,因为jQuerykeydown触发器不是“真实”事件。input.val('test').trigger(jQuery.Event({which:68});expect(input).toHaveValue('test');如果没有正确的代码,这个测试应该会失败,因为输

javascript - 找不到变量 : Promise in Phantomjs

我正在用Jasmin编写测试用例。当我调用波纹管方法时,初始化({"Data":"primary"});这是:initialize:function(config){console.info("initializeVersion2initialized..");returnnewPromise(function(resolve,reject){console.info("promise");resolve(true);});}我遇到了错误ReferenceError:找不到变量:Promiseinhttp://localhost:8080/absolute/home/krushanu/

javascript - Chai断言测试对象结构是否至少包含其他对象结构

我使用Mocha进行单元测试,使用Chai进行断言。我想找到一种易于使用的解决方案来检查对象是否具有我的比较对象中定义的结构和属性。但我不需要对象完全相等。被测对象至少应该包含我的测试对象中的所有属性,但它也可能包含当时未被测试的其他属性。所以,我想测试一个单元来检查它返回的对象是否至少有一个名为“foo”的属性,它本身是一个至少包含值为10的属性“bar”的对象。所以,我有要测试的预期结果:varexpected={foo:{bar:10}};我调用我的单元并将我的测试对象放在变量sut中:varsut=MyUnit.myFunction();所以对于各种suts,我期望这些结果:/

javascript - Jasmine 模拟 ajax 调用在 IE 中不起作用

我尝试编写一个允许模拟Ajax调用的规范。该测试用例在Chrome和Firefox等浏览器上运行良好。但是当我在IE(版本9,10)上运行测试用例时,我遇到了一些问题。当使用jQueryAjax进行正常的Ajax调用时会出现此问题。我在IE中得到如下错误:TypeError:Unabletogetvalueoftheproperty'response':objectisnullorundefined.我写的测试用例如下describe("mockingajax",function(){beforeEach(function(){jasmine.Ajax.install();});aft

javascript - karma 自定义测试页

Karma有一个内置的context.html文件来加载测试页。但这很糟糕。我可以指定自定义测试页吗?我问的原因是因为我想看到漂亮的Mocha浏览器上的界面。有没有办法用Karma插入它?Testem在浏览器上显示测试框架的界面;是为什么Karma只显示一个丑陋的空白页面?@stackoverflow=areyouhappynow?yes:nostackoverflow=happynow?ok:thanks 最佳答案 自您发布以来,Karma添加了一个选项来指定自定义HTML文件。该属性称为customContextFile例子mo

javascript - 如何设置用于测试自定义代码的 Dojo Objective Harness 测试用例结构?

我正在考虑使用DojoObjectiveHarness(DOH)来测试一些自定义JavaScript代码。为此,我阅读了以下文章:http://www.ibm.com/developerworks/web/library/wa-aj-doh/index.html我对测试用例结构有疑问。该示例显示您的测试用例模块与dojo位于同一父目录中。这对我们来说有点麻烦,因为我们想在多个项目中使用DOH,而不必在每个项目中都包含dojo。有谁知道设置DOH以使用以下结构的方法:dojotoolkit道场迪git道场效用项目1来源测试项目2来源测试谢谢...西蒙 最佳答案

javascript - 使用 jasmine 测试 javascript UI 的最佳方法

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion我初看jasmine框架,它看起来很有前途,但我找不到使用dom的简单方法。我的意思是,模拟用户交互,比如完成和输入,点击一个按钮,然后检查dom是否正确更新,比如在输入验证后显示错误,并显示修改后的数据。就是您通常使用selenium等工具执行的操作。有没有标准的方法来做,或者ui测试超出了jasmine的领域,我应该为这样的任务寻找另一个框架?

javascript - mocha with nodejs assert 挂起/超时为 assert(false) 而不是错误

我有这种Mocha测试:describe'sabah',→beforeEach→@sabahStrategy=_.filter(@strats,{name:'sabah2'})[0].stratit'articlelistshouldbepopulated',(done)→@timeout10000strat=new@sabahStrategy()articles=strat.getArticleStream('barlas')articles.take(2).toArray((result)→_.each(result,(articleList)→//Imaketheassertio

c# - 学习 BDD、TDD(ruby、C#、javascript)的好资源

学习BDD和TDD(ruby、C#、javascript)的好资源是什么。现在用的好框架有哪些? 最佳答案 见WhyshouldIpracticeTestDrivenDevelopmentandhowshouldIstart?BeginningTDD-Challenges?Solutions?Recommendations?GoodC#UnittestingbookIntroducingBDDWhatisthePathtoLearnBDDonRubyOnRails?JasmineHanselminutes-Understanding

javascript - 检测 console.log() 调用

我正在尝试为使用console.log()将消息写入JavaScript控制台的调试方法编写测试用例。测试必须检查消息是否已成功写入控制台。我正在使用jQuery。有没有办法将钩子(Hook)附加到console.log()或以其他方式检查消息是否已写入控制台,或关于如何编写测试用例的任何其他建议? 最佳答案 console.log不会记录已记录的消息,也不会发出您可以监听的任何事件。您的测试不可能直接验证其来自JavaScript的输出。相反,您的测试代码需要将console.log替换为一个mock实现,该实现会跟踪日志消息以供