Я запустил свою программу, и все отлично работает. Сейчас я пытаюсь написать несколько тестов и получаю эту ошибку:
Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and UTF-8
Я не использую какие-либо странные символы, насколько мне известно. Я даже не знаю, с чего начать с этой ошибкой. Я попытался добавить эти две строки в файл environment.rb:
Encoding.default_internal = Encoding::UTF_8
Encoding.default_external = Encoding::UTF_8
и это не помогло. Вот тест, который я пытаюсь запустить:
require 'test_helper'
class UserTest < ActiveSupport::TestCase
test "should require all fields" do
u = User.new
assert_false u.valid?
end
end
вот мой файл users.yml:
one:
name: MyString
password: MyString
two:
name: MyString
password: MyString
<% (1..5).each do |i| %>
user_<%= i %>:
name: user_<%= i %>
password: user_<%= i %>
<% end %>
вот мой след стека:
Creating sqlite :memory: database
-- create_table("comment_votes", {:force=>true})
-> 0.0021s
-- create_table("comments", {:force=>true})
-> 0.0013s
-- add_index("comments", ["post_id"], {:name=>"index_comments_on_post_id"})
-> 0.0005s
-- create_table("posts", {:force=>true})
-> 0.0015s
-- create_table("users", {:force=>true})
-> 0.0013s
-- create_table("votes", {:force=>true})
-> 0.0010s
-- initialize_schema_migrations_table()
-> 0.0009s
-- assume_migrated_upto_version(20111005200722, ["db/migrate"])
-> 0.0013s
Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and UTF-8
1 тестов, 0 подтверждений, 0 отказов, 1 ошибок, 0 ожиданий, 0 пропусков, 0 уведомлений
Тестовый набор завершен: 0,058747 секунд
Процесс завершен с кодом выхода 1