草庐IT

自动化测试框架pytest教程13-调试

全部标签

ruby - 为什么我的 RSpec 测试失败,但我的应用程序正常运行?

我刚刚完成chapter10oftheRubyonRailsTutorial,添加编辑/更新、索引和销毁用户的能力。在我的应用程序中似乎一切正常,但是当我运行RSpec时我的许多测试都失败了。我的users_controller_spec设置与书中完全相同,我的应用程序代码也相同。一个问题可能是我使用的是Rails3.1.1而不是他在书中使用的Rails3.0?对于以前的测试来说,这并不是真正的问题,只是偶尔会出现几行不同的代码。我开始后问题开始出现section10.2.1.这是我看到的错误列表,如果您需要更多信息,请告诉我。谢谢!1)UsersControllerGET'index

ruby - VIM 中更好的自动完成功能

全部,我使用vim已经有一段时间了,并且喜欢它的一切-只有一件事我真的很怀念像RubyMine这样的IDE,那就是高级自动完成。作为引用,这是我的标准VIM设置:https://github.com/wrwright/.vim我尝试过使用omnicomplete+supertab的ctags,我想念的一个主要元素是能够调出一个上下文相关的属性/常量/方法列表。例如,当我学习RubyMotion时,我很想得到一些帮助来记住iOSSDK常量/属性/方法,但是我的VIM自动完成会停止建议类名..或者如果它确实建议方法/属性,它会列出大量甚至不适用于我正在使用的类的方法/属性。我希望(简单示例

ruby-on-rails - 如何分析我的 rspec 测试以找到最大的内存消耗?

我们使用circleci作为部署过程的一部分。Circleci运行了我们的3000次测试,有时会失败,因为它达到了4GB的内存限制。看起来我们的一些测试正在创建大量对象并耗尽大量内存。我只是不知道哪些是。有没有一种简单的方法可以分析给定测试所用的内存?如果我知道如何执行此操作,我可以轻松地遍历每个测试并运行它并查看它使用了多少内存。 最佳答案 您可以使用ruby-profgem来分析内存使用情况。但首先您可以尝试使用--profileflag运行rspec.它将为您提供10个最慢的规范,这可能是开始寻找消耗大量内存的规范的好地方。

ruby-on-rails - RubyMine - 自动检测 .each、.map 和其他迭代器类型

我可以在RubyMine中编写#@param[Array]thingsdeffoo(things)endRubyMine将为things.first.*自动完成MyClass方法。但是,当我遍历每个时,例如:#@param[Array]thingsdeffoo(things)things.each{|t|t.*}endRubyMine失去了它的类型推断。我知道我可以添加注释来指定block参数类型,但是循环遍历某种类型的对象应该只会产生该类型的参数。有什么方法可以为RubyMine编写自定义规则,以便假定.each、.map和其他迭代器具有以下类型它调用的变量?

ruby - 使用 Aruba 和 Bundler 测试基于 Ruby 的 CLI

我有一个RSpec套件,通过Bundler运行,它正在使用Aruba测试许多不同的命令行应用程序。它工作正常......只要被测试的命令本身不是使用Bundler用Ruby编写的。但我无法弄清楚如何防止RSpec套件的bundler配置干扰本身使用bundler的命令的执行-至少,并非没有极端措施。我尝试了unset_bundler_env_vars和with_clean_env的各种排列,但无济于事。这是我认为可行的技术示例:describe'myrubyapp'dobefore:each{unset_bundler_env_vars}it'shouldwork'doBundler.

ruby-on-rails - 如何加快为 rspec 测试创建 5,000 条记录的速度?

我正在使用RubyonRails3.2.2、FactoryGirl3.1.0、FactoryGirlRails3.1.0、Rspec2.9.0和RspecRails2.9.0。为了测试我的应用程序,我必须在数据库中创建大量记录(大约5000条),但是该操作非常慢(创建记录需要10多分钟)。我这样进行:before(:each)do5000.timesdoFactoryGirl.create(:article,)endend如何改进我的规范代码以加快速度?注意:可能速度较慢是由在每个文章创建过程前后运行的(5)个文章回调引起的,但我可以跳过这些(因为我唯一需要测试的是文章和不是关联的模型

ruby - 使用 serverspec 使用相同的测试测试多个主机

Serverspec站点的高级提示部分显示了使用相同测试集测试多个主机的示例。我自己构建了一个示例(https://gist.github.com/neilhwatson/81249ad393800a76a8ad),但存在问题。第一个问题是测试在第一次失败时停止,而不是通过批处理继续进行并保持计数。第二个是故障输出没有指明故障发生在哪个主机上。我该怎么做才能解决这些问题并为所有房东生成最终报告? 最佳答案 对于第一个问题,默认情况下ServerSpec将运行您的所有测试。但是,由于您有一个为每个环境执行Rake任务的循环,因此第一个

ruby-on-rails - 使用 simplecov 的 Ruby on Rails 测试覆盖率

我想分析我们代码的测试覆盖率,因此安装了simplecovgem。我们的测试环境有2个独立的项目:RESTAPI测试(Java+Rest-Assured)和WebUI测试(Java-Selenium)。如您所见,我们没有在Rails应用程序内部进行单元测试,我们正在使用外部项目进行测试。我按照教程中的描述配置了simplecovgem,并将其放入rails脚本中:require'simplecov'SimpleCov.start'rails'puts"requiresimplecov"加载应用程序时,我看到了我打印的字符串。我运行了两个自动化测试项目,在rails日志中看到了它们的打印

ruby - 有没有办法在 Vim 中为 Ruby 设置良好的自动完成?

我一直在尝试为Ruby代码设置Vim自动完成功能,但没有成功。我的意思是“工作”,但我希望有更好的插件或配置可用。我已经设置了ruby​​complete插件,它做得不错,但与像RubyMine这样的IDE相比就差强人意了。一旦我安装它,它只是呼吸新鲜空气,看看我错过了什么。它非常了解语法、上下文,并且通常只显示相关的可能选项。也许我只是没有正确设置。不可能找到关于如何解决这个问题的教程、博客文章和好的文档(尤其是最新的文档)。有时您只是发现有不同的工具和设置,但没有太多关于如何操作的解释。是否有针对此类事物的社区标准?实现这一目标的最佳工具是什么?任何好的教程、资源、关于如何去做的线

ruby - 在 JRuby 9000 中调试

在JRuby9000中调试的最佳方法是什么?Pry和Byebug都依赖于MRI。我发现的所有JRuby信息似乎只适用于9k之前的版本,不适用于我的JRuby9k设置。 最佳答案 正如您在https://rubygems.org/gems/pry/versions中看到的那样,自jruby1.6以来,有许多java版本的pry可以很好地与jruby配合使用。Pry不依赖于MRI。如果您的应用程序是Web服务器或Rails应用程序,您还可以使用pry-remote。我尝试过使用byebug但由于jruby不支持它而放弃了。