我有一些特殊情況需要在django中測試。我試圖通過編寫我自己的測試用例來擴展現有的django測試。這是我目前正在做的事情。如何用自己的方法從外部庫中增加一個類?
from django.tests import TestCase
# define my own method as a function
def assertOptionsEqual(self, first, second):
# logic here
pass
# Attach the method to the TestCase class. This feels inelegant!
TestCase.assertOptionsEqual = assertOptionsEqual
# tests go here
class KnownGoodInputs(TestCase):
def test_good_options(self):
self.assertOptionsEqual(...)
雖然其工作原理,限定的方法與self
作爲第一個參數的函數,然後將其附連到TestCase
感覺不雅。用我自己的方法是否有更好的方法來增強TestCase
類?我能做到這一點...
class MyTestCase(TestCase):
def assertOptionsEqual(self, first, second):
...
,並使用MyTestCase
所有測試,但不知道是否有一個更好的選擇。謝謝!
怎麼樣強迫t子類化和使用另一個方法名稱? – fabrizioM