Şu anda kullanıyorum ctest
ile yazılmış testleri yapmak Çerçeve yakalamak . Dahili Catch etiketlerine göre hangi testleri çalıştırdığımı filtreleyebilmek istiyorum; örneğin, etiketlenen tüm testleri kolayca engellemek istiyorum [FUTURE]
kaçmaktan.
Yürütülebilir tek bir test için yoksayma ctest
, bu basit:
myTestName '~[FUTURE]'
Ama geçmek için hiçbir yol görmüyorum '~[FUTURE]'
Catch testlerinin argümanı ctest
. Bu mümkün olmalı --test-command
, fakat (1) --test-command
olmadan bir şey yapmak görünmüyor --build-and-test
(istediğim bu değil) ve (2) bu görünüşte bir seferde sadece bir test için çalışıyor, istediğim de değil (sadece koşmak istiyorum) ctest
tüm projemde).
Sadece kullanabilirim ctest -N
Testlerin isimlerinin alınması ctest
bu yüzden koşmalıyım find
tüm test isimleri ve bu noktada temel olarak kendi test çalıştırıcımı uyguluyorum.
Not; İçin mevcut etiket yok ctest
veya Catch test çerçevesi ve onları yaratacak bir temsilcim yok. Başka hangi etiketlerin burada uygulanacağından emin değilim. Sadece kullanıyorum cmake
tag çünkü ctest
parçası cmake
.
ctest
....
~[FUTURE]
Test-adım-adım ve test-adım-adım-gelecek gibi. Sonra onları en düzenli bir regex ile filtreleyebilirsin. Alternatif olarak, gelecektekilere bir ctest etiketi ekleyebilir ve doğru olanları çalıştırmak için ctest'in etiket filtresini kullanabilirsiniz (adı düzenlemek yerine biraz daha sağlam olabilir). Tutarlı bir şekilde yapıldığından emin olmak için test kaydı için cmake sarmalayıcı işlevini kullanabilirsiniz.