title: How to pass parameter values directly into TestNG, JUnit or other framework method?
body: <p>Basically I'm trying to accomplish what in C#'s NUnit is very simple, but using a Java test framework.</p>
  
  <p>What I want to accomplish in Java would look like this in C#'s Nunit:</p>
  
  <pre><code>[Test]
  [TestCase(ProcessTypes.A, "a", false, true, false), Category("Smoke")]
  [TestCase(ProcessTypes.A, "A", false, false, true), Category("Functional")]
  [TestCase(ProcessTypes.A, "*", false, false, false), Category("Functional")]
  public void ProcessIsResponding(ProcessTypes ProcessType, string password, bool lengthPass, bool lowercasePass, bool uppercasePass) {
      ...
      // perform test using parameters
      ...
  }
  </code></pre>
  
  <p>In this case, I write a test method and use annotations to define the parameter values, and the values only need to match the test method arguments. Then it is invoked for each TestCase annotation, each time with a different set of parameter values. That is so much more practical than having to annotate the test with parameter names and put value in an external XML file... <code>DataProvider</code>s then are extremely cumbersome when you have a large number of tests.</p>
  
  <p>It seems like TestNG was the most promising framework out there, but it has the whole "parameter values in an xml file" architecture, which is awful.</p>
  
  <p>I'm willing to put in the effort to witch frameworks if anyone else would have this kind of structure.</p>
  
  <p>Can this be accomplished with any other test framework for Java out there? </p>