我试图在Ruby on Rails上运行一些测试,但我不知道在测试时如何保持记录。我试过了:
private void batchRootFolderText_TextChanged(object sender, EventArgs e){
if (!batchRootFolderText.Text.EndsWith("\\")){
String temp = batchRootFolderText.Text;
temp = temp.Substring(0, MyString.Length - 1);
batchRootFolderText.Text = temp + "\\";
}
}
但我得到一个错误(重复),因为它在每次测试之前都在运行。
重复键值违反了唯一约束" index_users_on_email"
https://github.com/plataformatec/devise#integration-tests
如何在所有测试中仅记录一次?
答案 0 :(得分:1)
如果这是评论,但无法对其进行格式化,请将其放在此处。
为什么您只想为所有测试登录一次? 从理论上讲,孤立测试的目的是让每个单元像单个交互一样运行。
如果您想在整个套件之前调用一次,可以将它放在规范助手中:
config.before(:suite) do
# Do Something Once
end
您在谈论功能规格吗?楷模?控制器?
但是看看你发布的内容,看来你可能正在谈论一个功能规范,在这种情况下,我会说不要这样做。让用户登录每个规范。
旁注: 注意到您的错误,您需要确保在运行每个规范之前清理数据库。请查看Database Cleaner Gem。这将允许您为每个规范重新创建该用户。