Does new JUnit 4.8.1 @Category render test suites almost obsolete?

空扰寡人 提交于 2019-12-03 09:17:11

问题


Given question 'How to run all tests belonging to a certain Category?' and the answer would the following approach be better for test organization?

  1. define master test suite that contains all tests (e.g. using ClasspathSuite)
  2. design sufficient set of JUnit categories (sufficient means that every desirable collection of tests is identifiable by one or more categories)
  3. qualify each test with relevant category(ies)
  4. define targeted test suites based on master test suite and set of categories

Example:

  • identify categories for speed (slow, fast), dependencies (mock, database, integration, etc.), function (fill in applicable categories), domain (fill in applicable categories), etc.
  • demand that each test is properly qualified (tagged) with relevant set of categories.
  • create master test suite using ClasspathSuite (all tests found in classpath)
  • create targeted suites by qualifying master test suite with categories, e.g. mock test suite, fast database test suite, slow integration for domain X test suite, etc.

My question is more like soliciting approval rate for such approach vs. classic test suite approach. One unbeatable benefit is that every new test is immediately contained by relevant suites with no suite maintenance. One concern is proper categorization of each test.


回答1:


One of the trade-off you have to consider is IMHO that categories are defined within the tests and suites are defined outside. This means, that when you use suites, you know which tests will be run, but when using categories, you do not know unless you inspect tests or simple run them. At the same time, when you look at the test using test suites you do not know in which suite it is contained, unless checking your suites, but using categories, you see it immidiatly.



来源:https://stackoverflow.com/questions/2698174/does-new-junit-4-8-1-category-render-test-suites-almost-obsolete

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!