这是我的测试:
test 'accepts nil first_name' do
user = User.new(first_name: nil)
assert_equal(nil, user.first_name)
end
当我运行它时,我从minitest得到了这个错误:
NoMethodError: undefined method `split' for nil:NilClass
我可以在控制台中手动创建用户,它可以工作,所以我很确定测试应该通过了。
这个nil.split
是从哪里来的?我的代码在任何地方都不使用split
。
更改此项:
assert_equal(nil, user.first_name)
对此:
assert_nil(user.first_name)
我没有深入挖掘堆栈,弄清楚什么东西被分割在哪里,但这解决了问题。