Clear Filters
Clear Filters

I want to test a function in a class but it relies on the object which isn't called

2 views (last 30 days)
So I have a class which calls another class then the method in the lower class. I have now moved onto unit testing this functions. In the lower class the method has a series of if statements which depends on the object. However the object isn't used when calling the function.
It would be very complicated to instantiate the upper class prior to instantiating the lower class then calling the method. So that the object is in use. Can I just call the method using the object as an input?
  3 Comments
Katherine
Katherine on 1 Feb 2024
Sorry I am not used to class and I did not make the class so I am sorry if I didn't explain it well
Bascially the tests are failing, when something somewhere else changes. I believe this value is changed within the object at a higher level and passed down. So when I test the method in the lower class, the object isn't chnaged as its done in isolation, so the if statement is never triggered, so the result is returned wrong and the test fails.
When calling the method after instantiating the class in the test its " Output = className(Input)" but it never calls the now changed object.
When running the entire script I can save the changed object. But since its never called as shown above, how can I use it?
This call does not have static methods but in another class there is.
Does this make more sense?
Steven Lord
Steven Lord on 1 Feb 2024
I think you should probably show a small concrete example of what you're describing. I'm not certain I understand what your implementation is doing from this prose description. In this case, a small chunk of code may be worth at least a few hundred words.

Sign in to comment.

Answers (0)

Categories

Find more on Construct and Work with Object Arrays in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!