如何在Java中组织单元测试?
在我的程序中有两个类:Main.java和DatabaseConnector.java。第二种方法包括10种方法(建立/关闭连接、解释args值以及通过PrepareStatement与数据库交互的方法) 对于每个函数,我想写2-4个测试。我的问题是如何组织?我应该创建DatabaseConnetorTest类并包含所有20-40个测试吗?或者为每个函数创建新的测试类(makeConnectionTest、InsertOrderTest等)以提高代码的透明度如何在Java中组织单元测试?,java,database,testing,Java,Database,Testing,在我的程序中有两个类:Main.java和DatabaseConnector.java。第二种方法包括10种方法(建立/关闭连接、解释args值以及通过PrepareStatement与数据库交互的方法) 对于每个函数,我想写2-4个测试。我的问题是如何组织?我应该创建DatabaseConnetorTest类并包含所有20-40个测试吗?或者为每个函数创建新的测试类(makeConnectionTest、InsertOrderTest等)以提高代码的透明度 另一个问题是,测试与mysql数据库
另一个问题是,测试与mysql数据库交互的函数的良好实践是什么 为类中的每个方法编写测试不是一个好的做法。这可能会提示您将所有方法
公开
,并打破封装原则
这是关于类将如何被使用和编写单元测试来覆盖那些功能场景(正面和负面)的,而不是试图为每个方法编写测试
如果有很多测试,一种方法是根据功能场景将它们组织成单独的测试类
这篇文章为一个类似的问题提供了一些有用的答案。你能为我链接一些关于测试类的资料吗?@jqboml用一个有用的参考更新了我的答案在一个类中有许多公共方法,这需要对单个类进行许多测试,这是一种代码味道。例如,
DatabaseConnector
建议一个类,该类提供连接到数据库的方法。该名称不表示解释args值的方法和通过PrepareStatement与数据库交互的方法。这些方法可以在它们自己的类中(单一责任)。