[R] Using a mock of an S4 class
Ramiro Barrantes
ramiro at precisionbioassay.com
Thu Feb 2 20:58:52 CET 2017
Yes, so are you suggesting that I create an instance of my S4 class in order to test my function.
My understanding is that ideally the test should not depend on any code besides the one that I am testing.
I just thought that you could perhaps define a mock class so that I would not need to invoke my external constructor function, hence making this test focus exclusively on the function that I am trying to test. Is it possible to do this in R?
On 2/1/17, 6:57 PM, "David Winsemius" <dwinsemius at comcast.net> wrote:
>
>> On Feb 1, 2017, at 11:46 AM, Ramiro Barrantes
>><ramiro at precisionbioassay.com> wrote:
>>
>> Hello,
>>
>> I have a function that applies to an S4 object which contains a slot
>>called @analysis:
>>
>> function calculation(myObject) {
>> tmp <- myObjects at analysis
>> result <- ...operations on analysis...
>> return result
>> }
>>
>> I am writing a unit test for this function. So I was hoping to create
>>a mock object but I can't figure out how to do it:
>>
>> test_that("test calculation function", {
>> mockMyObject<- mock(?????) #I am not sure what to put here
>> r<-calculation(mockMyObject)
>> expect_true(r,0.83625)
>> })
>>
>> How can I create a mock S4 object??
>
>I'm not seeing a class definition for any "S4"-classed object. I would
>expect you to have used `setClass`. I believe that once the class is
>defined that you should have access to the `new` constructor function.
>
>>
>> Thanks in advance,
>> Ramiro
>>
>> [[alternative HTML version deleted]]
>
>R-help is a plain-text mailing list.
>
>--
>
>David Winsemius
>Alameda, CA, USA
>
More information about the R-help
mailing list