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

How to do unit tests in Scilab?

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

#lang racket

(require rackunit)

(check-equal? (add1 1) (* 2 1))

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

我只是想要一个能够比较我的期望值和另一个值的测试。

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

比较是使用 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 中您已经发布的更多信息。