我有一个看起来像这样的测试:
class PageTest < ActiveSupport::TestCase
describe "test" do
test "should not save without attributes" do
page = Page.new
assert !page.save
end
end
end
运行测试时,我得到0 tests, 0 assertions
。如果我删除描述“test”,我会得到1 test, 1 assertions
。所以我觉得描述“......”实际上是让测试消失了。
这里发生了什么?我错过了什么?
答案 0 :(得分:1)
看起来你正在混合最小的specs
和ActiveSupport::TestCase
。如果您在测试时检查了rails guides,则会解释test
方法,但它不会与describe
一起使用。
Rails添加了一个测试方法,它带有一个测试名称和一个块。它 生成一个正常的MiniTest :: Unit测试,其方法名称前缀为 测试_。所以,
test "the truth" do
assert true
end
表现得好像是你写的
def test_the_truth
assert true
end
describe
部分下的minitest docs解释了spec
语法,并与it
(而不是test
一起使用)。像这样:
describe "when asked about cheeseburgers" do
it "must respond positively" do
@meme.i_can_has_cheezburger?.must_equal "OHAI!"
end
end