相关文章
更多最近更新
更多请问TestCase是用来测试方法的还是类的?
2019-03-25 13:42|来源: 网路
刚刚学习测试有个菜鸟问题请java测试老鸟指点。
请问一个TestCase是用来测试 XxxManager类中的所有方法,还是XxxManager.xx()(某一个)方法的?
说白点就是问一个 TestCase对应的测试的目的是一个“方法”还是一个“类”?
问题补充:
如果Manager就是service层,一个manager里面包含很多业务功能(如:记录订单,审批,权限管理),这些业务功能又同时操作DB和远端服务器;
类似这样的业务方法,有很复杂的业务逻辑性,输入的参数也有合法与不合法的情况,如果只用一个TestCase那么这个TestCase就一定会很大,而且要在setUp tearDown的时候所要做的事情也都不太一样,很难统一呀?
再有从字面意思来讲,Test Case =“测试用例”,每一个测试用例都对应“测试用例测试文档”中定义的一堆条件,这些条件的不同组合都具有独立行为逻辑,从测试用例的文档的角度来看一个TestCase == 一套业务逻辑 == Service层某一方法。
以上都是用来跟各位达人讨论,请大家思考后参与讨论!谢谢
请问一个TestCase是用来测试 XxxManager类中的所有方法,还是XxxManager.xx()(某一个)方法的?
说白点就是问一个 TestCase对应的测试的目的是一个“方法”还是一个“类”?
问题补充:
如果Manager就是service层,一个manager里面包含很多业务功能(如:记录订单,审批,权限管理),这些业务功能又同时操作DB和远端服务器;
类似这样的业务方法,有很复杂的业务逻辑性,输入的参数也有合法与不合法的情况,如果只用一个TestCase那么这个TestCase就一定会很大,而且要在setUp tearDown的时候所要做的事情也都不太一样,很难统一呀?
再有从字面意思来讲,Test Case =“测试用例”,每一个测试用例都对应“测试用例测试文档”中定义的一堆条件,这些条件的不同组合都具有独立行为逻辑,从测试用例的文档的角度来看一个TestCase == 一套业务逻辑 == Service层某一方法。
以上都是用来跟各位达人讨论,请大家思考后参与讨论!谢谢
相关问答
更多-
我是否需要为testcase使用的util类编写测试用例(Do i need to write testcase for util classes used by testcase)[2022-06-18]
一般规则是:在您对程序的正确性感到满意之前,尽可能多地进行测试。 不正确的测试实用程序类如何影响程序的行为? 我不知道您的具体程序,但是不正确的测试实用程序类不会影响程序的正确性。 相反,它可以让你认为你的程序确实是正确的,或者当它真的正确时认为它是不正确的。 因此,我对测试实用程序类的直觉不是直接测试类,而是通过一个心理证明过程并确定实用方法是正确的,因此不会让我误解为程序正确性。 特别是在您的情况下,实用程序类只读取文件并返回其内容,您可能不需要编写测试用例。 这个简单的代码应该易于验证是正确的,因此在 ... -
TestCase和TransactionTestCase之间的主要区别在于TestCase包含所有时间的atomic()块测试。 从文档 : 在两个嵌套的atomic()块中包含测试:一个用于整个类,一个用于每个测试 现在想象一下,如果没有包装在atomic()块中,你有一个应该引发错误的方法。 您正在尝试为此编写测试: def test_your_method_raises_error_without_atomic_block(self): with self.assertRaises(SomeE ...
-
您应该使用@BeforeClass和@AfterClass注释的方法,而不是使用setup / teardown。 Instead of using setup/teardown you should probably use methods annotated with @BeforeClass and @AfterClass instead.
-
如何为一个在行为中的类编写Junit测试用例?(How to write Junit testcase for a class that is inside the actvity?)[2021-10-09]
我强烈建议您为当前项目制作单独的测试项目。 假设您正在使用eclipse,只需右键单击当前项目 - >新建 - >其他 - >在“Android”下找到“Android Test Project”并选择目标项目。 现在,您可以向测试项目添加一个类,并让它像这样扩展AndroidTestCase: public class MainActivityTest extends AndroidTestCase { public void methodTest() { //Your meth ... -
unittest.TestCase的setUp方法是否知道当前的测试用例?(Does setUp method from unittest.TestCase know the current test case?)[2022-05-29]
不, unittest不保证测试执行的顺序。 此外,你应该构建你的单元测试,不要依赖任何特定的顺序。 如果他们需要通过另一种测试方法进行一些状态设置,则根据定义,您不再有单元测试。 将执行的当前测试方法名称将存放在self._testMethodName ,但使用时您自担风险(访问_private属性可能会在不发出警告的情况下self._testMethodName )。 不要使用它来根据特定的测试方法自定义setUp ,而倾向于将需要不同设置的测试拆分为单独的测试类。 class Tests(unitte ... -
我不认为单元测试有通用设置和拆卸的功能。 你应该看看pytest,它的灯具更强大。 I don't think unittest has a facility for universal setup and teardown. You should look into pytest, its fixtures are more powerful.
-
简单来说: 一个单元测试应该涵盖程序的单个功能 。 这就是说的全部。 这就是他们被称为单元测试的原因。 当然,我们通过功能理解的内容可能会有所不同。 考虑一下程序的最小部分可能会破坏或不按预期工作。 考虑代码的业务需求。 这些是您希望每个部件都由专用单元测试覆盖的部件。 通常,单元测试是小的,孤立的和原子的。 它们应该易于理解 ,它们应该彼此独立地失败/传递 ,并且应该快速执行 。 适当的单元测试的相当好的指示是单一断言 - 如果你发现自己写得更多,你可能测试得太多了,这是一个标志,你需要多个测试给定的功能 ...
-
我不知道为什么? 也许TestCase类不在我的类路径上? 但至于第二个代码段,我确保TestCase在我的类路径上。 Class.forName("junit.framework.TestCase"); 返回与TestCase类关联的Class对象。 它没有设置类路径。 这就是你提出异常的原因: 线程“main”中的异常java.lang.ClassNotFoundException:junit.framework.TestCase 您尝试加载不在类路径中的类。 要解决Eclipse的问题,请进入项 ...
-
它们应该继承自公共基类,而不是从TestA继承TestB ,或者TestA ,它们都应该从公共基类继承: class CommonBase(unittest.TestCase) def common_verify_method(self, results) expected = expected_method() self.assertEqual(results, expected) # this uses self.assertEqual class TestA(Co ...
-
TestCase类来自Junit 3,不应在Junit 4 +类中使用。 如果您扩展TestCase,并使用Junit 3 Test运行程序,那么您的测试方法名称需要以“test”开头。 (Junit 3测试运行器使用Java反射来查找和调用以“test”开头的所有方法) 依靠TestClass阻碍了测试类的设计,因为你不得不扩展那个使得某些东西难以测试的类。 还没有任何东西等同于Junit4的@BeforeClass或@AfterClass,这意味着你必须完成所有更复杂的多测试夹具设置并自行拆除。 要一次 ...