Bir R paketi için bazı testler yazıyorum ve R CMD check
olmasını istiyorum, bazı girişler için işlevlerin doğru uyarıları görüntülediğini doğrulayın. Ancak uyarıyı nasıl çıkaracağımı anlayamıyorum, böylece test edebilirim.Uyarı doğru bir şekilde atılıp atılmadığını görmek için R'de bir paket testi nasıl yazılır?
Ben Yani eğer böyle bir işlevi: options
değiştirerek
warningOutput <-try(throwsWarning(1))
if (warningOutput!='Argument "x" is greater than zero, results may be incorrect'){
stop('function "throwsWarning" did not produce correct warning when x>0')
}
Şimdiye kadar bulduğum mümkün kısmi çözümlerin: Ben gibi benim test dosyasındaki bir şey ister ki
throwsWarning<-function(x){
if(x>0){
warning('Argument "x" is greater than zero, results may be incorrect')
}
# do something useful ...
}
böylece uyarılar trycatch
bloğu ile hatalar ve çevre olarak ele alınır. Ayrıca last.warning
test değeri olarak kabul edilir, ancak uyarı atılmazsa (önceki değeri test eder) tehlikeli görünmektedir. Eksik olduğumu yapmanın kolay bir yolu olmalı mı?
Testlerde 'testthat 'kullanıyor görünmüyorsunuz. – Spacedman