相关疑难解决方法(0)

如何测试是否未抛出特定异常?

我可以测试是否没有抛出特定的异常吗?

反过来很容易使用@Test[expect=MyException].

但我怎么能否定这个呢?

junit

16
推荐指数
2
解决办法
2万
查看次数

如何使用PHPUnit测试调用同一类的其他方法但不返回任何值的方法

如何为调用同一类的其他方法但不返回值的方法编写单元测试?(让我们说PHPUnit.)

例如,假设我有以下类:

class MyClass {

    public function doEverything() {

        $this->doA;
        $this->doB;
        $this->doC;

    }

    public function doA() {
        // do something, return nothing
    }

    public function doB() {
        // do something, return nothing
    }

    public function doC() {
        // do something, return nothing
    }

}
Run Code Online (Sandbox Code Playgroud)

你会怎么测试doEverything()

编辑:

我问这个是因为从我看过的内容看来,几乎所有的方法都应该有自己的专用单元测试.当然,你也有功能和集成测试,但那些目标特定的例程,可以这么说(不是必须在每个方法级别).

但是,如果几乎所有方法都需要自己的单元测试,我认为对所有上述方法进行单元测试将是"最佳实践".是/否?

php testing phpunit unit-testing codeception

5
推荐指数
1
解决办法
8783
查看次数

如何正确进行单元测试

我正在尝试使用测试驱动设计方法编写一个应用程序 - 我对单元测试相当陌生,所以我只是想知道测试正确输入和异常的正确方法是什么。

我有一个用于加载配置文件的类:

class Config
{
    private XmlDocument configfile;

    public Config()
    {
        configfile = new XmlDocument();
    }

    public void LoadConfigFile(string filename)
    {
        if(string.IsNullOrEmpty(filename)) 
            throw new System.ArgumentException("You must specify a filename");

        try
        {
            configfile.Load(filename);
        }
        catch (Exception ex)
        {
            throw new System.IO.FileNotFoundException("File could not be loaded");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,这里可以执行 3 个测试:

  1. 加载实际文件并确保没有错误
  2. 尝试加载无效文件(不存在的文件)
  3. 不指定文件名参数

测试这些的正确方法是编写 3 个测试方法,如下所示:

    /// <summary>
    ///A test for LoadConfigFile
    ///</summary>
    [TestMethod()]
    public void LoadConfigFileTest()
    {
        Config target = new Config(); // TODO: Initialize to an …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing

3
推荐指数
1
解决办法
256
查看次数

标签 统计

unit-testing ×2

c# ×1

codeception ×1

junit ×1

php ×1

phpunit ×1

testing ×1