如何在Scilab中进行单元测试?

时间:2017-03-16 16:33:15

标签: unit-testing testing scilab

我习惯在Racket中进行单元测试,例如:

public class Domains
{
    public Domains() { }
    public Domains(string domain) { this.Domain = domain; }

    [PrimaryKey, MaxLength(64)]
    public string Domain { get; set; }
}

public class Statistics
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }
    public int Timestamp { get; set; }

    [ForeignKey(typeof(Domains))]
    public String DomainId { get; set; }

    public int Status { get; set; }

    [ManyToOne(CascadeOperations = CascadeOperation.All)]
    public Domains Domain { get; set; }
}

如何在Scilab中进行简单的单元测试?

我只想让测试能够比较我的期望和其他价值。

https://help.scilab.org/docs/6.0.0/en_US/test_run.html

1 个答案:

答案 0 :(得分:0)

使用 assert_xxxxx()函数进行比较,有关详细信息,请参阅help

例如:

    a = 10;
    assert_checkequal(a, 10);

    b = 11; 
    assert_checkequal(b, 10);
     !--error 10000 
    assert_checkequal: Assertion failed: expected = 10 while computed = 11 (mean diff = 1)
    at line      22 of function assert_generror called by :  
    at line     150 of function assert_checkequal called by :  
    b = 11; assert_checkequal(b, 10);

由于第二个断言失败,错误会增加。

此外,你可以创建" .tst"用于单元测试的文件,您可以在其中添加断言。可以使用 test_run()函数执行此类文件。

例如,如果您创建以下结构:

root
 - module_1
    - function_1.sci
    - function_2.sci 
 - module_2
    - function_3.sci
 - tests
    - simple_test_1.tst
    - simple_test_2.tst 

您可以从根目录中调用 test_run(' tests')来执行所有单元测试。在这种情况下,您要在函数中说明单元测试的路径,以及您已发布的link中的更多信息。