草庐IT

PhpSpec:我怎样才能从一个套件中只运行一个测试?

全部标签

ruby - 使单元测试快速失败以进行突变测试

mutationtesting遇到一个问题是它很慢,因为默认情况下您会为每个生成的突变执行完整的测试运行(测试文件或一组测试文件)。加快突变测试的一种方法是,一旦遇到单一故障(但仅在突变测试期间),就停止对给定突变体的测试运行。更好的做法是让变异测试者记住杀死最后一个变异体的第一个测试是什么,并将其首先交给下一个变异体。ruby中是否有任何东西可以做这些事情,或者我最好的选择是开始猴子修补?(是的,我知道单元测试应该很快。显示所有失败的测试在突变测试之外很有用,因为它不仅可以帮助您识别出问题,还可以查明哪里出了问题)编辑:我目前正在对测试/单元使用heckle。如果测试/单元不可能记住

ruby-on-rails - 对 Rails 模型方法进行基准测试

Rails中有类似RubyBenchmark的东西吗?我过去曾使用Ruby基准测试来比较不同的代码位,但没有一个与Rails相关。我想在一些基准测试中使用我的应用程序模型来做一些类似......#!/usr/bin/rubyrequire'benchmark'Benchmark.bmbmdo|x|x.report("Benchmark1")do1_000_000.timesdo#dosomethinghere...endendx.report("Benchmark2")do1_000_000.timesdo#Dosomethingelsehere...endendend这给了我这样的输

ruby Hash 包括另一个哈希,深度检查

进行这种深度检查的最佳方法是什么:{:a=>1,:b=>{:c=>2,:f=>3,:d=>4}}.include?({:b=>{:c=>2,:f=>3}})#=>true谢谢 最佳答案 我想我从那个例子中明白了你的意思(不知何故)。我们检查子哈希中的每个键是否在超哈希中,然后检查这些键的对应值是否以某种方式匹配:如果值是哈希,则执行另一次深度检查,否则,检查值是否相等:classHashdefdeep_include?(sub_hash)sub_hash.keys.all?do|key|self.has_key?(key)&&ifs

ruby - 在 Maven 集成中运行 Ruby 单元测试

有没有人有在Maven中运行用Ruby编写的单元测试的经验。任何输入,如要使用的库/maven插件,将不胜感激!我们已经在使用Maven+hudson+Junit。但是我们正在引入Ruby单元测试,找不到任何同样好的组合。 最佳答案 我建议让Maven使用ExecMavenPlugin启动rake测试(exec:exec目标)并使用ci_reportergem生成单元测试结果的XML文件,Hudson、Bamboo等可以读取该文件,以与JUnit测试相同的格式显示测试结果。如果您不需要使用mvntest运行Ruby测试,您也可以只使

ruby 认为我在引用一个顶级常量,即使我指定了完整的命名空间

在我的应用程序中我有classUserincludeUser::FooendUser::Foo定义在app/models/user/foo.rb现在我正在使用一个定义了自己的Foo类的库。我收到此错误:warning:toplevelconstantFooreferencedbyUser::FooUser仅引用具有完整路径的Foo,User::Foo,而Foo实际上从来没有指的是Foo。这是怎么回事?更新:才想起我之前遇到过同样的问题,在问题1中看到这里:HowdoIrefertoasubmodule's"fullpath"inruby? 最佳答案

ruby - 为什么这个启用 SSL 的 Ruby 服务器/客户端测试有效?

我正在努力在Ruby中创建启用SSL的服务器,以及与服务器一起使用的相应Ruby客户端。为了进行测试,我使用以下命令创建了自己的根CA证书。$:~/devel/ssl-test/ssl/CA$opensslgenrsa-outTestCA.key2048GeneratingRSAprivatekey,2048bitlongmodulus............+++...........................+++eis65537(0x10001)$:~/devel/ssl-test/ssl/CA$opensslreq-new-keyTestCA.key-outTestCA.

ruby - 如何在 Ruby 中将一个 block 传递给另一个 block ?

假设我有以下过程:a=Proc.newdoputs"start"yieldputs"end"end还假设我将a传递给另一个方法,该方法随后使用该block在另一个类上调用instance_eval,我现在如何将一个block传递到该方法的末尾在a中产生。例如:defdo_something(a,&b)AnotherClass.instance_eval(&a)#howcanIpassbtoahere?enda=Proc.newdoputs"start"yieldputs"end"enddo_something(a)doputs"thisblockisb!"end输出当然应该是:star

ruby - 规范测试基于 EventMachine 的(Reactor)代码

我正在尝试整个BDD方法并想测试AMQP基于Vanilla的方面Ruby我正在写的应用程序。选择Minitest后作为与其他名副其实的蔬菜框架不同的平衡功能和表现力的测试框架,我着手编写此规范:#File./test/specs/services/my_service_spec.rb#Requirementsfortestrunningandconfigurationrequire"minitest/autorun"require"./test/specs/spec_helper"#Externalrequires#MinitestSpecsforEventMachinerequire

ruby-on-rails - 检测 Rails 是否正在运行站点

我所在的团队负责管理公司面向公众的云平台。我们拥有大量运行面向互联网的VM的用户群。我想对我们的地址空间进行自动扫描,看看是否有人在运行Rails应用程序,这样我就可以通知他们升级他们的Rails版本,以避免本周出现的严重安全漏洞。我注意到在某些Apache部署中,有一个有用的PassengerHeader:X-Powered-By:PhusionPassenger(mod_rails/mod_rack)2.0.3然而,这并不可靠。我想知道是否有一种可靠的方法来检测在Web服务器后面运行的Rails,无论是使用响应header还是某种可以确定的GET/POST。谢谢!

ruby-on-rails - 运行迁移时出现 Rails 迁移错误?

当我执行rakedb:migrate时,出现以下错误:rakeaborted!Gem::LoadError:Youhavealreadyactivatedrake10.2.2,butyourGemfilerequiresrake10.1.0.Usingbundleexecmaysolvethis.如何解决这个问题? 最佳答案 此错误是由于某些应用程序指定的gem版本可能与您安装的版本不同。尝试使用bundleexecrakedb:migrate。使用bundleexec保证程序在gemfile中指定的环境下运行。