【问题标题】:How to write a unit test case for a function which doesn't return any result如何为不返回任何结果的函数编写单元测试用例
【发布时间】:2016-01-27 19:51:01
【问题描述】:

如何为不返回任何内容但具有一些逻辑/计算的函数编写测试用例取决于全局变量值。我正在使用 jasmine 框架为 JavaScript 函数编写测试用例。

var a = 10, b = 20, c = 0; //a and b variables holds dynamic values

function add(){  
    c = a + b;
}

在上述情况下,如何使用 jasmine 编写 add() 函数的测试用例?

【问题讨论】:

  • 通过重构函数使其不依赖全局变量 :)
  • 取决于你想测试什么,一般情况下你仍然可以通过执行它来捕获异常。
  • 如果你举一个更现实的例子?真正的功能执行什么目的?

标签: javascript unit-testing jasmine


【解决方案1】:

(修改全局变量通常是个坏主意,尽管存在其他设计问题)你可以打电话给add(),然后看看c是否正确

describe("Test global variable modifiers", function() {
  var a, b, c;

  beforeEach(function () {
    a = 10;
    b = 20;
    c = 0;
  });

  it("should add a and b values to c", function() {
    add();

    expect(c).toBe(30);
  });
});

【讨论】:

    猜你喜欢
    • 2015-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多