Tôi phải sử dụng khung kiểm thử đơn vị VS để đảm bảo tất cả mã đang hoạt động chính xác. Tuy nhiên tôi đang gặp rất nhiều rắc rối khi thử nghiệm yêu cầu các đối số dòng lệnh để làm việc (vì các đầu vào dòng lệnh phải được cung cấp trong thời gian chạy ... và với các kiểm tra đơn vị không có "thời gian chạy" thực). Có cách nào để chạy thử nghiệm đơn vị của tôi với đầu vào đối số dòng lệnh không? Tôi nhận ra đây không phải là cách lý tưởng để xây dựng một chương trình, nhưng tiếc là tôi không quyết định cách thức hoạt động của quá trình thử nghiệm.Đối số dòng lệnh với Visual Studio Unit Testing C#
Tôi đã đọc rằng tôi có khả năng có thể viết một tệp lô và đưa nó vào thư mục MStest/testcontainer. Có một số vết thương tôi phải rõ ràng để làm điều đó theo cách này. Những hurtles bao gồm:
1) Tôi không biết gì về các tập tin batch
2) Tôi không biết nơi mà các thư mục MSTest/testcontainer là, làm thế nào để truy cập vào nó, làm thế nào nó hoạt động, hoặc thậm chí làm thế nào để thêm các tập tin cho nó (vì nó có vẻ là ẩn hoặc không dễ dàng truy cập).
3) Tôi không biết mình sẽ làm gì với tệp lô ngay cả khi tệp được viết chính xác và trong thư mục MStest/testcontainer. Làm thế nào là thử nghiệm của tôi thậm chí còn phải biết nó ở đó, hãy để một mình lấy đầu vào từ nó?
Vì vậy, để tóm tắt: Làm thế nào để thực hiện một thử nghiệm đơn vị VS có trong các đối số dòng lệnh? Nếu tôi KHÔNG phải sử dụng phương pháp tập tin batch, tôi sẽ đánh giá cao nó được giải thích cho tôi như tôi 5. Tôi xin lỗi nếu tôi có chút bất lực trong chủ đề này, nhưng tôi không thể tìm thấy bất kỳ lời giải thích rõ ràng hoặc hữu ích nào cách mọi thứ trong số này hoạt động trong ngữ cảnh cụ thể này.
Cảm ơn một tấn.
Điều này có vẻ dễ dàng hơn nhiều so với toàn bộ tệp lô vô nghĩa đó! Không gian tên nào là Quy trình theo? Ngoài ra làm thế nào tôi sẽ đi về việc sử dụng prop trong các bài kiểm tra của tôi? Ví dụ arg1 là đầu vào tôi cần truy cập, tôi chỉ cần nói: "prop.StandardInput.arg1" để truy cập arg1 để sử dụng trong các hàm thử nghiệm của tôi? –
prop.StandardInput và prop.StandardOutput chỉ là các luồng mà bạn có thể gửi văn bản và đọc từ đó. Điều này sẽ là cơ bản một thử nghiệm blackbox cho chương trình. Điều này sẽ không cung cấp quyền truy cập vào các phương thức/biến cụ thể. Nó sẽ chỉ kiểm tra givin một đầu vào nhất định, thu được đầu ra chính xác. – Cemafor
Mọi thứ có vẻ đang chạy trơn tru nhờ sự giúp đỡ của bạn. Cám ơn rất nhiều. –