1

I am new to Junit. I have a class with four methods. I am creating a test class with test cases. Can I have a test case that uses more than one methods of testing class or there should one test case per one method. What is good practice ?

want2learn
  • 131
  • 1
  • 2
  • Could not get my answer reading this. – want2learn Aug 03 '15 at 04:22
  • 1
    it took you how long, 8-9 minutes to study all the answers over there, along with the links to further reading referred from these answers? – gnat Aug 03 '15 at 04:30
  • 2
    @gnat: it took me 30 seconds to see that the other question is not a duplicate - it is about the contents of tests, not about their structure. – Doc Brown Aug 03 '15 at 05:08

1 Answers1

1

Can I have a test case that uses more than one method of the tested class

Obviously yes, how will you otherwise test methods which need a specific initialization before? For example

  fooCalculator = new FooCalculator(someParameters);
  fooCalculator.SetOption1(valueForOption1);
  fooCalculator.SetOption2(valueForOption2);
  result = fooCalculator.Calc(); 
  Assert.AreEqual(expectedResultForTheseOptions,result);

If, however, your question is "Can I have a test case that tests more than one method", then the answer is "you should avoid that", because that will typically result in too large tests. See this former question for a detailed explanation.

Doc Brown
  • 199,015
  • 33
  • 367
  • 565