2015-11-30 3 views
-1

У меня есть определить функцию Foo в строке 28 следующим образом:Minitest :: UnexpectedError: ArgumentError: неверное число аргументов (0 для 2)

def test_foo(strArray,valid=true) 

и я звоню функцию в двух местах в моем коде следующим образом:

arr1 = ["something","anotherthing"] 
test_foo(arr1,false) 

и в другом месте, как следующие:

arr2 = ["another","blah"] 
test_foo(arr2) 

здесь ошибка я получаю, когда я г до испытания:

Minitest::UnexpectedError: ArgumentError: wrong number of arguments (0 for 2) 
    test/foo_test.rb:28:in `test_foo' 
test/foo_test.rb:28:in `test_foo' 

Как исправить эту проблему?

+0

Вместо того, чтобы вставлять небольшие фрагменты кода и сообщать нам, какие строки они включены, можете ли вы просто показать нам свой 'test/foo_test.rb' целиком? Кроме того, это помогает, если вы включаете полный вывод, созданный вашим неудачным тестом – Jon

+0

@jon, спасибо за то, что вы изучили эту проблему. Извините за код, поскольку код был слишком большим для вставки, и я подумал, что он предоставит достаточно информации. – Akadisoft

ответ

0

Я понял, в чем проблема. Я назвал функцию test_foo, а minitest обрабатывал тестовую функцию вместо вспомогательной функции.

Я переименовал вспомогательную функцию test_foo в check_foo и прошел тест без ошибок.