«assertions» etiketlenmiş sorular

İddialar, programınız hakkındaki varsayımlarınızı test etmenizi sağlar. Örneğin, bir parçacığın hızını hesaplayan bir yöntem yazarsanız, hesaplanan hızın ışık hızından daha düşük olduğunu iddia edebilirsiniz.

3
Varlıklar veya birim testleri daha mı önemli?
Hem iddialar hem de birim testleri bir kod temeli için dokümantasyon ve hataları keşfetme aracı olarak işlev görür. Başlıca farklar, varsayımların aklılık kontrolü olarak işlev görmesi ve gerçek girdileri görmesidir; oysa birim testleri belirli benzetilmiş girdilerde çalışır ve iyi tanımlanmış tek bir "doğru cevap" a karşı yapılan testlerdir. Doğruluk doğrulamanın …

4
İstisnalar atama istisnalarına karşı mı?
Genellikle bir işlev yazarken, bu tür hataları olabildiğince erken tespit etmek için girdilerin geçerli olduğundan emin olmak istiyorum (bunlara ön koşul denir). Bir önkoşul başarısız olduğunda, her zaman bir istisna fırlattım. Ancak bunun en iyi uygulama olup olmadığından ve iddiaların daha uygun olacağından şüphe duymaya başladım. Öyleyse ne zaman yapmalıyım: …

9
Çok fazla iddia yazmak mümkün mü?
assertProgramımdaki mantıksal hatalar nedeniyle gerçekleşmeyen olayları yakalamanın bir yolu olarak C ++ kodunda çek yazmanın büyük bir hayranıyım . Bu genel olarak iyi bir uygulamadır. Ancak, yazdığım bazı fonksiyonların (karmaşık bir sınıfın parçası olan) okunabilirlik ve bakım açısından potansiyel olarak kötü bir programlama uygulaması olabileceğini düşünen 5+ varsayımına sahip olduğunu …


8
Yayın sürümlerinde iddialar varsa
assertC ++ 'da varsayılan davranış, sürüm derlemeleri hiçbir şey yapmaktır. Bunun performans nedeniyle yapıldığını ve belki de kullanıcıların kötü hata mesajları görmesini önlemek için yapıldığını düşünüyorum. Ancak, bir assertişten çıkarılmış ancak devre dışı bırakılan durumların daha da zahmetli olduğunu iddia ediyorum çünkü uygulama muhtemelen bazı değişmezler kırıldığı için hatta daha …

9
Çok fazla iddia kodu kokusu var mı?
Birim testlerine ve TDD'ye gerçekten aşık oldum - test enfekte oldum. Ancak, birim testleri normalde genel yöntemler için kullanılır. Bazen özel yöntemlerde de bazı varsayım-iddiaları test etmem gerekse de, bazıları "tehlikeli" ve yeniden düzenleme daha fazla yardımcı olamaz. (Biliyorum, çerçevelerin test edilmesi özel yöntemlerin test edilmesine izin veriyor). Böylece özel …

1
Birim testleri: Linq ile ertelenmiş iddialar
Bunun gibi ertelenmiş iddialar eklemek uygun mudur? var actualKittens = actualKittens.Select(kitten => { Assert.IsСute(kitten); return kitten }); Neden? Bu yüzden, örneğin, materyalize toplama bekleyen ifadelerle bile sadece bir kez yineleyebilirim: CollectionAssert.AreEquivalent(expectedKittens, actualKittens.ToList()); Ve aynı zamanda sadece Select değil, yineleyici tanımlı ve çok fazla kontrol ve mantık içeren bir yöntem olabilir …

5
Hata kontrol ve kullanımımı nasıl geliştirebilirim?
Son zamanlarda doğru miktarda kontrolün ne olduğunu ve uygun yöntemlerin ne olduğunu anlamak için uğraşıyorum. Bununla ilgili birkaç sorum var: Hataları kontrol etmenin uygun yolu nedir (hatalı girdi, hatalı durumlar, vb)? Hataları açıkça kontrol etmek veya son kodunuzdan optimize edilebilen bildirimler gibi işlevleri kullanmak daha mı iyi? Ben açıkça nihayet …
13 c  testing  assertions 

3
Python - iddia ve karşı iddia
Bir metin dosyasına bir şey yapan bir komut dosyası yazıyorum (ne olsa benim soru için ilgisiz). Bu yüzden dosyaya bir şey yapmadan önce dosyanın var olup olmadığını kontrol etmek istiyorum. Bunu yapabilirim, sorun değil, ama mesele daha çok estetik. İşte benim kodu, aynı şeyi iki farklı şekilde uygulamak. def modify_file(filename): …

1
Python'da ördek yazma, veri doğrulama ve iddialı programlama
Hakkında ördek yazarak : Ördek yazmaya, yöntem ve işlev gövdelerindeki bağımsız değişken türlerini alışkanlık olarak sınamayarak, belgelere, açık koda ve doğru kullanımı sağlamak için sınanmaya dayanarak yardım edilir. Argüman validasyonu hakkında (EAFP: Bağışlama izni istemekten daha kolaydır). Buradan uyarlanmış bir örnek : ... daha pitonik olduğu düşünülüyor: def my_method(self, key): …

2
kod sözleşmeleri / iddiaları: yinelenen kontrollerle ne olacak?
Ben büyük bir yazma hayranları, sözleşmeler ya da kullandığım dilde mevcut her türlü çekler hayranıyım. Beni biraz rahatsız eden bir şey, tekrarlanan kontrollerle uğraşmak için ortak uygulamanın ne olduğundan emin değilim. Örnek durum: İlk önce aşağıdaki işlevi yazıyorum void DoSomething( object obj ) { Contract.Requires<ArgumentNullException>( obj != null ); //code …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.