Tôi có một thử nghiệm cho một cái nhìn bộ sưu tập mà làm việc như thế này:tế bào Wrong đếm để xem bộ sưu tập trong giao diện người dùng thử nghiệm
func testDeleteItem() {
app.collectionViews.staticTexts["Item"].tap()
app.buttons["Delete"].tap()
XCTAssertEqual(app.collectionViews.cells.count, 2)
XCTAssertFalse(app.collectionViews.cells.staticTexts["Item"].exists)
}
Sau vòi nước, có một màn hình mới với nút delete. Khi nút được nhấn, màn hình sẽ tự tắt và tải lại chế độ xem bộ sưu tập. Mọi thứ diễn ra như mong đợi trong giao diện người dùng, nhưng tôi nhận được cả hai xác nhận không thành công. Trong số đầu tiên nó vẫn là 3 và trong mục thứ hai nó vẫn tồn tại.
Chỉnh sửa: Tôi đã tạo điều này simple example on GitHub để trình bày lỗi.
tôi thấy thử nghiệm trong mô phỏng khi nó đi và nó sẽ là ok. Ảnh chụp màn hình cũng hiển thị 2 mục còn lại.Tôi nghĩ rằng nó có thể thất bại vì nó không chờ đợi để hoàn thành việc loại bỏ màn hình, nhưng 'expectationForPredicate' với' waitForExpectationsWithTimeout' cũng không thành công. –
Nhật ký không hiển thị bất kỳ thứ gì không đúng thứ tự. –
Thử nghiệm này cũng không thành công, khi ô bị xóa trực tiếp trên 'collectionView: didSelectCell:', việc đặt các xác nhận trong 'dispatch_async' cũ tốt sẽ làm cho các kiểm tra vượt qua. Nó không có vẻ là một giải pháp thích hợp, nhưng chỉ ra trên luồng là tốt. Thú vị –