Tôi đã hỏi this câu hỏi về cách viết một pytest để kiểm tra kết xuất trong stdout
và nhận giải pháp. Bây giờ tôi cần phải viết một test case
, để kiểm tra xem các nội dung được ghi vào tập tin và nội dung được viết như mong đợi ví dụ:viết một hàm pytest để kiểm tra xuất ra một tệp trong python?
def writetoafile():
file = open("output.txt",w)
file.write("hello\n")
file.write("world\n")
file.close()
bây giờ là một chức năng pytest để kiểm tra xem nó viết:
def test_writeToFile():
file = open("ouput.txt",'r')
expected = "hello\nworld\n"
assert expected==file.read()
trong khi điều này dường như hoạt động, tôi không nghĩ rằng đây là lý tưởng, đặc biệt là mã hóa cứng. làm thế nào là những loại test functions
của văn bản cho một tập tin thường được viết?
Tại sao điều này không lý tưởng? Bạn đã viết bạn muốn kiểm tra nội dung được viết như mong đợi, do đó, nhìn vào tập tin và kiểm tra có vẻ là lựa chọn tốt nhất. Bạn luôn có thể tạo một biến với một chuỗi các ký tự ngẫu nhiên và kiểm tra xem nó có được viết thành công hay không; bạn có thể kiểm tra "mong đợi trong file.read()" để xem liệu dữ liệu đã được thêm vào chưa (nhưng bạn đã sử dụng cờ 'w' vì vậy đó là một thử nghiệm xấu ở đây); vv Bạn muốn kiểm tra điều gì nếu không phải điều này? Có lẽ biết những gì bạn muốn là câu hỏi thực sự ở đây, như trong hầu hết các bài kiểm tra. –