I’m new to BDD, and I’m finding alot of instances where I’m adding instance variables to attr_accessor only so that my tests have an easy way to validate whether they are in the state that they should be in. But this feels a little dirty because no other class needs this information, and so I’m only making it public for the tests. Is this standard or a sign of bad design?
For example I have a collection class which stores an object, and then commits it to a batch array. At the end of the import, the batch array is used to make a batch insert into the database. But there is no need to check on the state of the batch at any point. But in testing I’m wanting to make sure that the batch is in the state that I think it is, and so am opening up that variable for inspection. Is the fact that it’s not being checked within the code the real problem?
Is using
instance_variable_getan option for you?