![]() |
1
2
这就是为什么静力学是有问题的。 您可以抽象接口背后的功能,并创建使用静态方法的默认实现。然后,您可以使用依赖注入,这使得这个单元测试变得简单——模拟对IVisualTreeHelper的依赖,或者滚动您自己的存根实现,您可以将其配置为返回您分配的任何值。
显然,你可能需要添加其他
它仍然不是完全干净的,因为您正在测试的单元本身是静态的,当您尝试对依赖于UIHelper类的静态方法的任何类进行单元测试时,您将遇到完全相同的问题。 |
![]() |
2
3
基于这个答案 printing documents via Wpf-controls and convert to XPS 我提出了以下扩展方法来创建可视化树。它在努尼特内部工作良好,没有斯塔线或任何东西。
请注意
|
![]() |
3
-1
要模拟可视化树,您必须实际创建并呈现一个可视化树所以您必须创建一个实际的窗口,wich对于单元测试来说并不是特别理想的。 |
![]() |
mg610 · 如何开始C++单元测试 2 年前 |
![]() |
Phil Gunning · 使用嵌套函数更改进行模拟测试 2 年前 |
![]() |
shilin agre · 在Python中测试修饰函数 2 年前 |
![]() |
SlipScout · Unittest只传递单个值,而不是获取多个值 2 年前 |
![]() |
Alex · 从实际对象的实例返回默认模拟结果 2 年前 |