हाय मैं सूची के लिए या फ़ाइलों की संख्या के लिए गतिशील रूप से परीक्षण विधि कैसे उत्पन्न कर सकता हूं। कहें कि मेरे पास फ़ाइल 1, फ़ाइल 2 है और जेसन में इनपुट मान के साथ फाइलन है। अब मैं नीचे की तरह एक से अधिक मान के लिए एक ही परीक्षण,पायटेस्ट गतिशील रूप से परीक्षण विधि उत्पन्न करता है
class Test_File(unittest.TestCase):
def test_$FILE_NAME(self):
return_val = validate_data($FILE_NAME)
assert return_val
चलाने के लिए मैं py.test चलाने के लिए वर्तमान में एचटीएमएल और JUnit रिपोर्ट
py.test test_rotate.py --tb=long --junit-xml=results.xml --html=results.html -vv
उत्पन्न करने के लिए मैं कर रहा हूँ के लिए निम्न आदेश का उपयोग कर रहा जरूरत मैन्युअल रूप से नीचे के रूप में तरीकों को परिभाषित करने,
def test_lease_file(self):
return_val = validate_data(lease_file)
assert return_val
def test_string_file(self):
return_val = validate_data(string_file)
assert return_val
def test_data_file(self):
return_val = validate_data(data_file)
assert return_val
कृपया मुझे पता है कि मैं गतिशील test_came विधि उत्पन्न करने के लिए है, जबकि रिपोर्ट देने py परीक्षण निर्दिष्ट कर सकते हैं करते हैं।
मैं बिल्कुल उम्मीद कर रहा हूँ जो इस ब्लॉग "http://eli.thegreenplace.net/2014/04/02/dynamically-generating-python-test-cases"
लेकिन ब्लॉग ऊपर unittest का उपयोग करता है और में बताया गया है कि अगर मैं का उपयोग करें कि मैं हम के रूप में जुड़नार का उपयोग करते हैं एचटीएमएल और JUnit रिपोर्ट
उत्पन्न करने में सक्षम नहीं कर रहा हूँ नीचे मैं अपनी आवश्यकता के 2 मानकों की तरह त्रुटि, प्राप्त
test_case = []
class Memory_utlization(unittest.TestCase):
@classmethod
def setup_class(cls):
fname = "test_order.txt"
with open(fname) as f:
content = f.readlines()
file_names = []
for i in content:
file_names.append(i.strip())
data = tuple(file_names)
test_case.append(data)
logging.info(test_case) # here test_case=[('dhcp_lease.json'),('dns_rpz.json'),]
@pytest.mark.parametrize("test_file",test_case)
def test_eval(self,test_file):
logging.info(test_case)
जब मैं ऊपर मैं निम्नलिखित त्रुटि मिलती है पर अमल,
> testMethod()
E TypeError: test_eval() takes exactly 2 arguments (1 given)
मुझे लगता है कि यह आपकी मदद कर सकते लगेगा? https://pytest.org/latest/parametrize.html – adarsh