Khi tôi chạy thử nghiệm perl bằng cách sử dụng tiện ích prove
, nó không thành công nếu phương pháp thử nghiệm chứa print
câu lệnh không được kết thúc bằng dòng mới.Kiểm tra thất bại dưới chứng minh nếu nó viết để stdout mà không có newline
use Test::More tests=>1;
ok(foo(), "calling foo");
sub foo{
print "A";
1;
}
Điều này dẫn đến
Bad plan. You planned 1 tests but ran 0.
Nếu tôi thêm một dòng mới: print "A\n";
kiểm tra đi.
(Lưu ý rằng nếu tôi chỉ thực hiện thử nghiệm perl mytest.t
thay vì sử dụng prove
thì nó sẽ được chuyển theo một trong hai cách).
Bất kỳ ý tưởng nào về lý do này có thể và cách khắc phục?
Xem http://stackoverflow.com/q/1538260/1030675 Đầu ra của 'print' can thiệp vào những gì' chứng minh' mong đợi. – choroba