RUnitでテストケースを自動的に生成するにはどうすればよいですか?
たとえば、単純なsum()関数があるとします。
sum <- function(x, y) {
return (x + y)
}
この関数を一連の異なるテストケースでテストしたいと思います。
test_cases <- c( c(2, 2, 4),
c(3, 3, 6),
c(0, 0, 0),
c(-1, 2, 1)
)
各ベクトルの最初の2つの要素はxとyであり、3番目はsum(x、y)関数の期待される出力です。
Pythonでは、test_casesの各要素のテストケースを生成する関数を簡単に作成できますが、Rで実装する方法がわかりません。RUnitとそのドキュメントを確認しましたが、類似したものはありません。ここでの最良の解決策は何ですか?
これは私がPythonでそれを書く方法です(nosetestを使用してテストユニットを起動します):
for triplet in test_cases:
yield test_triplet(triplet)
def test_triplet(triplet):
assert(sum(triplet[0], triplet[1]) == triplet[2])