问题标签 [testunit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Ruby 断言和禁用输入
有谁知道如何断言复选框或输入被禁用?我找不到任何表明支持此功能的内容我正在使用 webrat 和 test/unit 编写黄瓜测试。
我想要一个能够 assert_disabled 的步骤:some_checkbox || assert_disabled :some_input。
或者我可以检查复选框的属性的某种方式。
ruby - JRuby and Test::Unit's assert_raise
I'm having trouble making assert_raise
recognize java exceptions.
I can do
which works fine, but if I try to get more specific
I get the error
However, I can use begin/rescue/end
to catch the exception:
Is there something I'm doing wrong, or is this a failure on Test::Unit
's part?
ruby - 从 Shoulda 方法访问断言方法
我有一个应该测试 XPath 条件的控制器响应的宏/方法,如下所示:
XPath 匹配和内置断言效果很好。但是,我有一个测试用例,我希望只存在一个匹配元素。这是可选块的工作:向调用者公开 XPath 匹配,以便它可以执行附加的/特定于上下文的断言。
不幸的是,当我真正通过一个街区时:
...我收到此错误:
NoMethodError:未定义的方法“assert_equal”为用户::会话控制器测试:类
这是(据我所知)是因为 Shoulda 的工作方式:传递给“should”调用(包括块)的参数是在测试类的上下文中定义的,而不是在测试类的实例中定义的。Test::Unit::Assertions.assert* 是模块实例方法,所以我不能方便地访问它们。
所以,我的问题是:是否有一种方便/惯用的方法可以轻松地从 Test::Unit::Assertions 访问 assert* 方法?该解决方案必须与 Shoulda 一起使用,尽管它不一定需要依赖于 Shoulda;直接的 Ruby 方式就可以了。
ruby - 确保拆解在 Test::Unit::TestCase 中运行?
我Test::Unit::TestCase
用来写一些单元测试。目前,我有一个setup
功能可以移动和修改磁盘上的一些夹具文件和文件夹。(目前这是一个必要的邪恶。)如果测试崩溃,teardown
则不会调用该方法,从而留下文件和文件夹。下次我运行测试时,它会抱怨某某文件夹已经存在(Errno::EEXIST
),这让我不得不停下来摆脱剩余的文件。
我怎么ensure
总是teardown
运行?(与其他一些语言ensure
的想法相同finally
。)
ruby-on-rails - 通过 Rails 中的 assert_routing 测试具有主机约束的路由
我有一个路由,我使用约束来检查主机,然后是一个基本上相同但没有主机限制的路由(这些实际上是命名空间,但为了简单起见,这个例子会做):
在通过浏览器访问时以及在定义主机和执行get "/page_key"
等时的集成测试中,这些工作完全符合预期。
但是我想编写测试以确保这些路由到目前为止工作我没有太多运气,因为以下测试(目前在一个ActionController::IntegrationTest
所以我可以设置主机)匹配没有约束的那个:
如果我尝试将 env 转储到约束 proc 中,我得到的只是--- :controller
.
如果我摆脱了 assert_routing 并且只是进行get :show
调用并转储@controller
它确实会解析到正确的控制器(正如预期的那样,这些路由都可以通过 HTTP 请求正常工作)。
ruby-on-rails - 轨道测试速度可以提高吗?
我最近转换到 TDD,但是随着我的代码库的大小和复杂性的增长,我发现自己每次要运行测试时都要等待越来越长的时间来加载框架。
我知道 rspec 的 spec_server,但我将 Test::Unit 与 shoulda 一起使用。我尝试了 Snailgun(http://github.com/candlerb/snailgun),但发现速度几乎没有增加。我也尝试过 spork-testunit ( http://github.com/timcharper/spork-testunit ),但它与我现有的测试并不完全兼容。
运行测试的延迟是一个明确的痛点,让我远离 TDD(至少在 Rails 中)。有人知道其他选择吗?
ruby - 如何在 Ruby 中继承抽象单元测试?
我有两个单元测试应该共享很多常见的测试,但设置方法略有不同。如果我写类似
那么 Concrete1 似乎没有从 Abstract 继承测试。或者至少我不能让它们在 Eclipse 中运行。如果我为包含 Concrete1 的文件选择“运行所有测试用例”,那么即使我不希望它运行 Abstract 也会运行。如果我指定 Concrete1,那么它根本不会运行任何测试!如果我在 Concrete1 中指定 test_1,那么它会抱怨找不到它(“uncaught throw :invalid_test (ArgumentError)”)。
我是红宝石的新手。我在这里想念什么?
ruby - 如何对线程中的异常进行单元测试
我需要对代码中引发的异常进行单元测试,例如:
如何让这个工作?
ruby - ruby 1.9.1 中有哪些命令行选项可用于测试/单元?
如果您在 ruby 1.9.1 中使用 Test::Unit 兼容层,有哪些命令行选项可用?
背景:
提供有关在 ruby 1.8.7 中可用的命令行选项的信息,但在没有 test-unit gem 的 ruby 1.9.1 中不可用。查看 ruby 1.9.1 rdoc的 Test and Test::Unit也无济于事。
Ruby 1.9.2 及更高版本为该--help
选项提供了有用的输出。
ruby-on-rails - 如何使用 Test::Unit 跳过某些测试
在我的一个项目中,我需要与多个后端系统协作。其中一些在文档中有些缺乏,因此我有一些测试代码与一些测试服务器交互,只是为了看到一切都按预期工作。但是,访问这些服务器非常慢,因此我不想在每次运行我的测试套件时都运行这些测试。
我的问题是如何处理您想跳过某些测试的情况。目前,我使用环境变量“BACKEND_TEST”和条件语句来检查是否为我想跳过的每个测试设置了变量。但有时我想跳过测试文件中的所有测试,而不必在每个测试的开头添加额外的行。
必须与测试服务器交互的测试并不多,因为我在其他情况下使用 flexmock。但是,你不能嘲笑自己远离现实。
从这个问题的标题可以看出,我使用的是 Test::Unit。此外,如果有任何区别,该项目就是 Rails 项目。