आर

2012-03-14 11 views
6

में स्टब्स और मैक्स मैंने आरएसपीईसी के साथ बहुत समय बिताया है और कुछ समय xunit शैली परीक्षणों के साथ बिताया है। मैं अपने निपटान में mocks और stubbing होने के आदी हो गया है।आर

क्या आर में मोजे या स्टबिंग जैसी कोई चीज है? उन्हें क्या ढांचे हैं?

यदि आप अपने परीक्षणों को अलग कैसे करते हैं तो नहीं?

+0

मेरे पास कोई जवाब यहां मजाक या छोटा करते के बारे में देखते हैं। क्या आपको कभी ऐसी चीज मिली? –

+0

ओह! अभी पता चला है कि 'testthat' में' with_mock() 'फ़ंक्शन शामिल है। –

उत्तर

4

यह करने के बाद आप इस प्रश्न पूछा 4 साल तक उपलब्ध नहीं था, लेकिन यह testthat तरह लग रहा है अब एक with_mock() समारोह में शामिल करता है:

https://github.com/hadley/testthat/blob/master/R/mock.R

बहुत अच्छी तरह से बिल फिट करने के लिए लगता है।

4

क्रैन पैकेज RUnit, svUnit और testthat जो सभी के आर

के लिए इकाई परीक्षण प्रदान करते हैं आप एक अलग ढांचा आप इसे लिखने के लिए हो सकता है की जरूरत है कर रहे हैं। सीआरएएन खुशी से आपके कोड को स्वीकार करेगा (यदि यह सामान्य मानकों को पूरा करता है)।

1

mockery पैकेज में stub फ़ंक्शन भी है। यह with_mock के समान है, लेकिन मूल आर पैकेज से प्राइमेटिव और फ़ंक्शंस को बाहर करने की अनुमति देता है।

उदाहरण:

g = function(y) y 
f = function(x) g(x) + 1 
test_that('demonstrate stubbing', { 
    # before stubbing 
    expect_equal(f(1), 2) 

    # replace the function 'g' when called from 'f' 
    stub(f, 'g', function(...) 100) 
    expect_equal(f(1), 101) 
})