草庐IT

ruby - 如何在没有 Rails 的情况下使用 RSpec?

在没有Rails的情况下使用RSpec在Ruby中执行TDD的过程是什么?我需要Gemfile吗?它只需要rspec吗?ruby1.9.3 最佳答案 过程如下:从控制台安装rspecgem:geminstallrspec然后创建一个包含以下内容的文件夹(我们将其命名为root):根目录/my_model.rbroot/spec/my_model_spec.rb#my_model.rbclassMyModeldefthe_truthtrueendend#spec/my_model_spec.rbrequire_relative'../

ruby - 在 Rspec 测试中运行 Rake 任务

我正在构建一个集成测试套件,我需要一个干净的数据库来处理一些逻辑。如何在我的一个测试中运行db:test:purge任务?我正在使用:ruby1.9.2、rails3.0.9、rspec2.6 最佳答案 您可以按如下方式调用Rake任务:require'rake'Rake::Task[name].invoke在这种情况下,这将导致以下代码:require'rake'Rake::Task['db:test:purge'].invoke 关于ruby-在Rspec测试中运行Rake任务,我们

ruby - 在 MiniTest 的 assert_raises/must_raise 中检查异常消息的预期语法是什么?

在MiniTest的assert_raises/must_raise中检查异常消息的预期语法是什么?我正在尝试做出如下断言,其中"Foo"是预期的错误消息:proc{bar.do_it}.must_raiseRuntimeError.new("Foo") 最佳答案 您可以使用assert_raises断言,或must_raise期待。it"mustraise"doassert_raisesRuntimeErrordobar.do_itend->{bar.do_it}.must_raiseRuntimeErrorlambda{bar.

javascript - 在子堆栈/磁带中使用 "plan"与 "end"的目的是什么?

substack的磁带测试模块允许您使用plan方法提前指定断言的数量,然后它会自动为您调用end。为什么不把end放在测试的最后呢?使用plan和end有什么区别? 最佳答案 Thefirstexampleonthereadme显示了plan有效但end无效的情况-异步测试解决方案。在这种情况下,您没有明确说明何时测试应该全部解决,您是说有多少应该最终解决:test('timingtest',function(t){t.plan(2);t.equal(typeofDate.now,'function');varstart=Date

javascript - 如何使用嵌套函数(javascript、jasmine)为第 3 方库编写 mock

我是TDD的新手,我正在尝试编写使用第三方库(跨平台移动开发)的可测试代码。我想进行测试以仅检查我们的业务逻辑。不用担心它们的实现。此外,他们的库仅在native包装器中公开。由于使用js作为开发语言,我想使用jasmine进行测试并运行测试以仅在浏览器中检查我的业务逻辑。以下是我想在测试时忽略/模拟的方法模式。com.companyname.net.checkInternetAvailable(url)com.companyname.store.getValue(key)com.companyname.someother.name(whateverObj,callback)etc.,

javascript - 如何使用 Spy 在 JS 函数执行中获取回调

我想监视一个函数,然后在函数完成/初始调用时执行回调。以下有点简单,但显示了我需要完成的工作://sendaspytoreportonthesoviet.GoldenEyemethodfunctionvarjames_bond=sinon.spy(soviet,"GoldenEye");//tellMaboutthesuperWeapongettingfiredviasatellitephonejames_bond.callAfterExecution({console.log("Thefunctiongotcalled!EvacuateLondon!");console.log(te

javascript - CasperJS 和警告框

如何测试页面上的警告框是否被调用?我可以抓取警报框的文本并对其进行评估吗?我在CasperJS中的点击是这样完成的:casper.waitForSelector('a[href="javascript:UserLogin()"]',functionsuccess(){this.test.comment("Submitingthebadlogininfo");this.test.assertExists('a[href="javascript:UserLogin()"]');this.click("a#h_login");},functionfail(){this.test.assert

javascript - 如何测试 Node 数据分块功能

我正在开发一个使用Node的项目,我们正在努力实现100%的功能覆盖。这是我们唯一没有测试过的函数,它在另一个函数中。varuserInput="";req.on("data",function(data){userInput+=data;});你如何着手测试这个功能?我们尝试从另一个文件导出函数,但没有成功。我应该提一下,我们正在使用磁带作为测试模块。 最佳答案 您需要根据请求触发此“数据”事件。这样这个回调就会被调用。例如,假设您的测试中有req,您可以做类似的事情(这是Mocha):req.trigger('data','sa

javascript - Jasmine 与 coffeescript 共享规范范围问题

我试图通过提取共享示例来DRY一些jasmine测试。@sharedExamplesForThing=(thing)->beforeEach->@thingy=newthingit"isneat",->expect(@thingy.neat).toBeTruthy()describe"widgetwithsharedbehavior",->sharedExamplesForThing(->newWidget)当一切都在一个文件中定义时,这会很好地工作。当我尝试将sharedExamples移动到单独的文件时,会出现我遇到的问题。我得到Can'tfindvariable:sharedEx

javascript - 测试 JavaScript 的最佳方法是什么?

我正在构建几个jQuery插件并继续前进,我认为了解一些测试我的代码的最佳实践会很有用。我通常使用Selenium但这只是为了调试。我想知道对我的代码进行一些实际测试(如TDD、BDD、DDD)的最佳方法。任何建议将不胜感激。 最佳答案 我用Jasminehttps://github.com/pivotal/jasmine并强烈推荐它。我不认为有一个“最佳”框架来测试您的代码。我只知道你“应该”测试你的代码。因此,话虽如此,只需找到您喜欢的测试/规范框架并进行测试!我有时也会使用https://github.com/webadvan