相关疑难解决方法(0)

如何测试私有函数或具有私有方法,字段或内部类的类?

如何对具有内部私有方法,字段或嵌套类的类进行单元测试(使用xUnit)?或者通过内部链接(static在C/C++中)或在私有(匿名)命名空间中使其成为私有的函数?

为了能够运行测试而更改方法或函数的访问修饰符似乎很糟糕.

java tdd unit-testing

2593
推荐指数
36
解决办法
82万
查看次数

如何使用NUnit测试私有方法?

我想知道如何正确使用NUnit.首先,我创建了一个单独的Test-Project,它使用我的主项目作为参考.但在那种情况下,我无法测试私有方法.我的猜测是我需要将我的测试代码包含在我的主代码中?! - 这似乎不是正确的方法.(我不喜欢在其中加载代码的代码.)

如何使用NUnit测试私有方法?

c# testing nunit unit-testing

100
推荐指数
6
解决办法
5万
查看次数

在C++中定义私有到公共

我想定义私有和受保护的公共.

#define private public
#define protected public
Run Code Online (Sandbox Code Playgroud)

这在C++中是安全的吗?

c++

5
推荐指数
2
解决办法
7711
查看次数

如何在单元测试中访问私有成员?

在开发单元测试时,访问私有成员以检查类的内部状态可能是必要的.有时getter和setter函数不可用,有时它们不公开.

处理它的第一种方法是,编写预处理器定义写入publis而不是private和protected.

#define protected public
#define private public
Run Code Online (Sandbox Code Playgroud)

第二种方法是让测试类成为类的朋友.

class test_foo {
};

class foo {
private:
  int mem;

  friend class test_foo;
};
Run Code Online (Sandbox Code Playgroud)

第三种方法是为测试创建公共接口.

class foo {

#if defined FOO_UNIT_TEST
public:
  int get_mem() const;
#endif

private:
  int mem;
};
Run Code Online (Sandbox Code Playgroud)

除了这些方法之外还有其他方法吗?每种方法都有利有弊.哪一个可以被认为是最佳实践?

谢谢.

c++ unit-testing

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

标签 统计

unit-testing ×3

c++ ×2

c# ×1

java ×1

nunit ×1

tdd ×1

testing ×1