Có điều gì đó trong Scalatest sẽ cho phép tôi kiểm tra đầu ra theo tiêu chuẩn thông qua tuyên bố println
không?Scalatest - cách kiểm tra println
Cho đến nay tôi chủ yếu sử dụng FunSuite with ShouldMatchers
.
ví dụ: làm cách nào để chúng tôi kiểm tra đầu ra được in của
object Hi {
def hello() {
println("hello world")
}
}
Bạn cần phải thêm 'override' vào MockOutput –
Tôi thích giải pháp này rất nhiều, @Eric là có một cách để làm điều này mà không cần phải mở rộng' Output'. Tôi cảm thấy 'mở rộng' một đặc điểm, nơi mà đặc điểm đó là không cần thiết ngay từ đầu, là một hack. Nó sẽ có ý nghĩa nếu các đặc điểm đã được cần thiết và chúng tôi tạo ra một thử nghiệm impl. –
Cách duy nhất để tránh mở rộng một đặc điểm là làm những gì mà Kevin hoặc Matthieu đang tư vấn. Điều đó đang được nói, tôi có triết lý xây dựng phần mềm của bạn để nó có thể kiểm tra được là một quyết định thiết kế tốt. Khi bạn theo đuổi ý nghĩ đó, bạn đi tất cả các cách để giới thiệu các đặc điểm cho * tất cả * các tương tác hệ thống IO/bên ngoài của bạn. – Eric