akıcı iddialarını kullanarak, ya belirli bir dize içerdiğini iddia etmek istiyorum iki dizelerinden biri:Akıcı iddialar: Bir VEYA başka bir değeri Assert
değerlerin hiçbiri bulunan Sadece eğeractual.Should().Contain("oneWay").Or().Should().Contain("anotherWay");
// eiter value should pass the assertion.
// for example: "you may do it oneWay." should pass, but
// "you may do it thisWay." should not pass
, iddianın başarısız olmalıdır. Hiçbir Or()
operatör olmadığı için bu (hatta derlemek değil) işe DEĞİLDİR.
Şu ana böyle yaparız:
Bu ayrıntılı birbool isVariant1 = actual.Contains(@"oneWay");
bool isVariant2 = actual.Contains(@"anotherWay");
bool anyVariant = (isVariant1 || isVariant2);
anyVariant.Should().BeTrue("because blahblah. Actual content was: " + actual);
ve argüman anlamlı çıkışı için el ile oluşturulan almak gerekir "çünkü".
daha okunabilir bir biçimde bunu yapmanın bir yolu var mı? Ben .NET 3.5 üzerinde FluentAssertions versiyon 2.2.0.0 kullanıyorum
bu konularda bir çözüm ayrıca, ... Be()
, HaveCount()
vb gibi diğer akıcı iddia türleri için geçerli olmalıdır.
Aslında, sorunun nerede olduğunu hiçbir ipucu var. Benim için –