Unit testing 如何测试setter和getter?

Unit testing 如何测试setter和getter?,unit-testing,testing,Unit Testing,Testing,如何测试setter和getter function someClass(){ var data; this.setData = function(value){ // some complex logic } this.getData = function(){ // some complex logic } } 在一个测试用例中执行setData和getData进行测试是否正确 伪代码: function yourTest() {

如何测试setter和getter

function someClass(){
   var data;

   this.setData = function(value){
       // some complex logic
   }

   this.getData = function(){
      // some complex logic
   }
}
在一个测试用例中执行setData和getData进行测试是否正确

伪代码:

function yourTest() {
  var sc = someClass()

  sc.setData(someInputValue1)
  assert.equals(someExpectedValue1, sc.getData())

  sc.setData(someInputValue2)
  assert.equals(someExpectedValue2, sc.getData())
}
伪代码:

function yourTest() {
  var sc = someClass()

  sc.setData(someInputValue1)
  assert.equals(someExpectedValue1, sc.getData())

  sc.setData(someInputValue2)
  assert.equals(someExpectedValue2, sc.getData())
}

我会测试这些功能。这看起来像JavaScript。您使用什么来测试框架?通常期望getter和setter不执行任何类型的逻辑。。。如果“一些复杂的逻辑”正在做一件事(SRP-单一责任原则),那么您可以编写一个简单的测试来检查它。如果这些函数执行不同的操作,您应该对每个函数进行不同的测试。@alfasin,如果它们使用私有变量,您如何分别测试每个方法?@duffymo,可以使用任何框架分别检查这些函数吗?为什么不可以?你写的,不是吗?我会测试这些函数。这看起来像JavaScript。您使用什么来测试框架?通常期望getter和setter不执行任何类型的逻辑。。。如果“一些复杂的逻辑”正在做一件事(SRP-单一责任原则),那么您可以编写一个简单的测试来检查它。如果这些函数执行不同的操作,您应该对每个函数进行不同的测试。@alfasin,如果它们使用私有变量,您如何分别测试每个方法?@duffymo,可以使用任何框架分别检查这些函数吗?为什么不可以?是你写的,不是吗?