如何在rails单元测试中测试p标签中的内容长度

时间:2014-10-16 08:51:29

标签: ruby-on-rails unit-testing

我想测试一个段落中字符串的长度。我应该选择哪种方法? assert_select'dd p'.length,80 这就是我用的,但这是错的!

1 个答案:

答案 0 :(得分:1)

我会使用帮助器来执行截断并对辅助程序本身进行测试,而不是使用集成测试。

假设该方法位于users_helper.rb

module UsersHelper
  def my_truncation(text)
    truncate(text, length: 80)
  end
end

然后,您可以在名为test/helpers的{​​{1}}下添加测试,如下所示:

users_helper_test.rb

然后你可以从控制台测试它:

require 'test_helper'

class UsersHelperTest < ActionView::TestCase

  def test_truncates_long_text
    assert(my_truncation("some text" * 200).size == 80)
  end

  def test_does_not_truncate_short_texts
    my_text = 'some text'
    assert(my_truncation(my_text).size == my_text.size)
  end
end

比集成测试更快地运行muuuu 希望这有帮助