私は次のノーズテストを作成しました:
@nottest
def _test_validate_helper_eq(self, input, expected, *args, **kwargs):
result = testedObcject.validatePrice(input, *args, **kwargs)
eq_(result, expected)
def test_validate_price(self):
yield self._test_validate_helper_eq, {}, {'price':'0'}
yield self._test_validate_helper_eq, {}, {'price', -1}, 'price', -1`
validatePrice は、テスト対象の関数です。
def validatePrice(self, input, name = 'price', default_price=0):
...
return validated_input
関数を使用して 2 つのテストを生成するテスト ジェネレーターがあり_test_validate_helper_eq
ます。また_test_validate_helper_eq
、関数はさまざまな数のパラメーターを取り、それをに渡しますvalidatePrice
最初のテストは PASS ですが、2 番目のテストには問題があります。ご覧のとおり、追加の 2 つのパラメーターname
とdefault_price
. このテストは次のエラーで失敗します:AssertionError: {'price': u'-1'} != set(['price', -1])
expected
パラメータの値は、set
私が定義した辞書の代わりであることがわかりました。*args
この変換が鼻で行われたのか、それとも使用されたために行われたのかはわかりません**kwargs
。
何が起こっているのか、それを修正する方法はありますか?