TOGOUTECH

javascript - 如何在输入字段上对事件监听器进行单元测试?

在最简单的测试中,我尝试测试以下函数:addPercentSign:function(oEvent,control){varinputVal=oEvent.getParameters().value;varinputNumber=parseFloat(inputVal);if(inputNumber){if(inputNumber100){//seelearningCurveFormatCheckreturnnull;}else{varfinalVal=inputNumber.toFixed(1);varfinalOutput=finalVal+"%";control.learning

javascript - 如何配置 Karma 以使用 requirejs 和 qunit

我正在尝试将karma和requirejs拼凑在一起。但发现一个大问题找不到任何答案。我有一个使用requirejs的项目,我使用qunit作为它的测试框架。他们在karma进来之前工作得很好。关注Karmarequirejsinstruction后,我得到一个错误,找不到合适的解决方案。karma版本为0.12.6错误是:UncaughtError:Mismatchedanonymousdefine()module....如何让它们协同工作?这是我的文件结构projectroot||----\src||||----\demo||||||----hello.js||||----\tes

javascript - 引用错误 : notOk is not defined

我使用QUnit进行JavaScript单元测试,已经进行了很多测试。他们中的大多数使用断言的方式:ok(condition.isTrue());这些测试在VisualStudio嵌入式测试系统(在“测试资源管理器”中)和“外部”QUnit引擎(通过单击“QUnit测试(单击运行)”上下文菜单调用,如果你向左打圆圈进入QUnit测试)。但是如果我以另一种方式使用断言:notOk(condition.isFalse());然后测试仅在VisualStudio测试系统内部运行良好,而尝试通过QUnit运行测试会出现以下错误:Diedontest#1athttp://localhost:64

javascript - grunt 没有在 phantom 上运行 QUnit 测试

我有一个repository它与travis集成在一起。我有QUnit测试,我想从grunt/node服务器端和AMD(requirejs)运行。这是我的AMDinit.js的来源:(function(){require.config({baseUrl:"../src"});require(["../test/suites/basic",'../test/qunit-extend','qunit'],function(BasicTests){QUnit.config.autoload=false;QUnit.config.autostart=false;BasicTests.run()

javascript - 为什么框架内的异常在 qUnit 中得不到通知?

我注意到当测试的后面部分发生异常时,qUnit不会发出任何通知。例如,在test()中运行它:stop();functionmyfun(ed){console.log('resumed');start();//Resumequnitok(1,'enteredqunitagain');ok(ed.getContent()=='expectedcontent')//在页面的内部iframe中会引发异常(TypeError:ed.getContentisnotafunction),但Qunit状态区域中没有任何内容说明这一点。我看到0个失败。(R是内部iframe,此处使用技术:http:/

javascript - Console.log 在使用 grunt 服务器的 Qunit 测试中不起作用

我正在创建在grunt服务器上运行的Qunit测试。在测试中,当我尝试使用“console.log”将一些输出记录到控制台时,它不会在控制台中打印任何内容。目前我只能使用OK来执行断言。请提供您的意见。 最佳答案 如果您在grunt中使用qunit任务,则需要使用--debug(即grunttest--debug)启动任务。然后,您将看到幻影日志以下列格式打印出您的控制台日志:[D]["phantomjs","console","MIXPANELPEOPLEREQUEST(QUEUED,PENDINGIDENTIFY):"]Seed

javascript - 如何以编程方式触发 Twitter 意图事件?

FacebookJSSDK具有相当于jQuery的trigger()函数,FB.Event.fire这使您可以触发为特定事件附加的处理程序。它有助于我在QUnit中进行单元测试。它基本上按照您的预期工作;FB.Event.fire("comment.create",location.href);为comment.create事件触发我的处理程序。Twitter'sobject对于WebIntents,twttr似乎有一些类似的东西,twttr.events.trigger(),但它没有记录。除此之外,我不知道如何在代码中正确触发它而不引发错误。如何以编程方式测试附加到该对象的处理程序?

javascript - 在 QUnit 测试中,只有在测试运行之前获得引用时才会触发 click 事件

我想用Qunit测试以下代码.//mycodeundertestdocument.getElementById('saveButton').addEventListener('click',save);functionsave(){console.log('saveclicked');}我的QUnit测试获得对按钮的引用并调用click函数:(function(){"usestrict";//HACK:withthislinehereclickworks//varbtn=document.getElementById('saveButton');//thetestQUnit.test(

javascript - 我如何构建一套 Qunit 测试,它们都有自己的 qunit 装置?

我有两个XXXTest.html文件,每个都与此类似:Somethingspecificforthecodeundertest每个都有自己的qunit-fixture,所以html文件相当于一个JUnit测试类。我意识到qunit将模块视为与测试类大致相同的东西,但这是非常有限的。拥有一个可以在其他html文件中执行测试的主html文件的最佳方式是什么?或者在qunit世界中分离出需要自己的固定装置的测试的“正确方法”是什么? 最佳答案 我通常有一个masterrunner.html,将我的#qunit-fixture留空并从我的模

javascript - 使用 Chutzpah 运行 QUnit (TypeScript) 测试给出 "Called start() outside of a test context while already started"

我有一个相当简单的重现,结果我不明白。确保安装了Chutpah测试适配器4.0.3。使用VisualStudio2013执行以下步骤:创建一个新的.NET4.5.1类库项目;添加NuGet包qunit.TypeScript.DefinitelyTyped0.1.7;将TypeScript文件file1.ts添加到项目中,内容如下:///QUnit.test("QUnitisworking",assert=>assert.ok(true));在该文件内右键单击并从上下文菜单中选择“运行JS测试”。我可以确认file1.js是按预期生成的。结果是没有运行任何测试,测试资源管理器没有显示测试