PHPUnit运行程序

PHPUnit运行程序,php,phpunit,Php,Phpunit,关于phpunit如何运行测试,我有几个问题。 假设我有一个包含3个测试方法的类,以及一个setUp()和tearDown()方法 当我运行phpunit时,它是如何运行测试的 它是否初始化类一次,然后运行setUp(),然后运行test方法,然后运行tearDown(),然后对第二个方法重复上述步骤,依此类推,或者 它每次实例化类,它将运行每个测试方法 该程序是否有文档记录 谢谢我想提及以下两个方面的区别会很有用: 设置() 此方法在每个测试用例之前调用,这意味着每个测试类可以调用此方法几次

关于phpunit如何运行测试,我有几个问题。 假设我有一个包含3个测试方法的类,以及一个setUp()和tearDown()方法

当我运行phpunit时,它是如何运行测试的

  • 它是否初始化类一次,然后运行setUp(),然后运行test方法,然后运行tearDown(),然后对第二个方法重复上述步骤,依此类推,或者

  • 它每次实例化类,它将运行每个测试方法

  • 该程序是否有文档记录


    谢谢

    我想提及以下两个方面的区别会很有用:

  • 设置() 此方法在每个测试用例之前调用,这意味着每个测试类可以调用此方法几次

  • setUpBeforeClass() 方法在每个类中只执行一次,甚至在构造对象之前,这就是为什么它被标记为静态公共函数的原因

  • 以上两种方法可以在我们使用的大多数单元测试中找到

    tearDownAfterClass和tearDown()之间的区别类似,在每个测试用例之后调用tearDown()方法,在类中的所有测试完成之后调用tearDownAfterClass()方法,在调用最后一个tearDown()方法之后调用


    该类实例化一次,然后在此实例上运行所有测试方法

    我认为提及以下两者之间的区别是有益的:

  • 设置() 此方法在每个测试用例之前调用,这意味着每个测试类可以调用此方法几次

  • setUpBeforeClass() 方法在每个类中只执行一次,甚至在构造对象之前,这就是为什么它被标记为静态公共函数的原因

  • 以上两种方法可以在我们使用的大多数单元测试中找到

    tearDownAfterClass和tearDown()之间的区别类似,在每个测试用例之后调用tearDown()方法,在类中的所有测试完成之后调用tearDownAfterClass()方法,在调用最后一个tearDown()方法之后调用


    该类实例化一次,然后在此实例上运行所有测试方法

    嗨。请检查我的问题。我要问的是,该类是实例化一次(并且所有测试方法都从同一个实例运行)还是每个测试方法实例化一次。请检查我的问题。我要问的是类是实例化一次(所有测试方法都从同一个实例运行)还是每个测试方法实例化一次。有一个非常简单的方法可以找到:让类的构造函数在每次调用时显示一条消息,然后运行测试用例并计算显示的消息数。Lol。你是对的。我检查了它,它实际上在每次运行测试方法时都会实例化该类,这与@Tal Avissar建议的相反。有一个非常简单的方法可以找到:让类的构造函数在每次调用时显示一条消息,然后运行测试用例并计算显示的消息数。Lol。你是对的。我检查了它,它实际上在每次运行测试方法时都会实例化该类,这与@Tal Avissar建议的相反