Полагаю, ваша модель выглядит примерно так? Я упустил некоторый код для простоты, поскольку ваш вопрос не о том, как реализовать фрагмент управления словами, а о том, как его протестировать.
class A
def add_word(word)
# Add the word to the string here
end
def delete_word(word)
# Find the word in the string and delete it
end
def count_words
# Probably split on " " and then call length on the resulting array
end
end
Теперь вы можете просто написать простой модульный тест.
require File.dirname(__FILE__) + '/../../../test_helper'
class EpisodeTest < ActiveSupport::TestCase
def test_word_count
a = new A()
assert_equal(0, a.count_words)
a.add_word("foo")
assert_equal(1, a.count_words)
assert_equal("foo", words)
a.add_word("bar")
assert_equal(2, a.count_words)
assert_equal("foo bar", words)
a.delete_word("foo")
assert_equal(1, a.count_words)
assert_equal("bar", words)
end
end