Ön koşullara sahip Swift yöntemleri için nasıl test yaparsınız?Hızlı kodun önkoşullarla test edilmesi
Konu 1:
func testDoublePositive() { XCTAssertEqual(10, testObject.doublePositive(5)) // Works XCTAssertThrowsError(testObject.doublePositive(-1)) // Breaks }
Bu testi çalıştıran bir hata oluşturur:
func doublePositive(n:Int) -> Int { precondition(n >= 0) return 2*n }
çalışmıyor
XCTAssertThrowsError
kullanma: İşte bir örnek EXEC_BAD_INSTRUCTION (Kod = EXCI386_INVOP, Altkod = 0x0)
Önkoşulu test etmenin bir yolu var mı Swift'ler mi?
Önkoşulda "yakalama" başarısızlığı için standart bir yol yoktur, her zaman programı durduracak, bazı ince ayarlamalar olsa da, http://www.cocoawithlove.com/blog/2016/02/02 /partial-functions-part-two-catching-precondition-failures.html – ogres
@ogres Wow, bu güzel bir makale, teşekkürler! – dasblinkenlight
Test dışı kodda bunu görmek için sabırsızlanıyorum. Test etmeyi denediğin şeyi test etmene izin verdiğine sevindim, ama bu web sitesinden nefret ediyorum ... çünkü bu uygulamanın ana hedeflerinde uygulandığını ve uygulamanın çökmesini önlemek için çökmüş konuların yetim kaldığını garanti ediyorum. (Ve ben de öyle dedim, çünkü benzer Objective-C makalesi için olduğunu gördüm ...) – nhgrif