raj*_*ram 1 c# reflection unit-testing scope
鉴于以下代码:
public class Employee
{
public void CalculateEmpSal(int empId,int salary)
{
// local varibles
int Basic;
int HRA;
// Calculate employee salary
Basic = salry * (0.40);
HRA = Basic * (0.50);
}
}
Run Code Online (Sandbox Code Playgroud)
是否可以为CalculateEmpSal可以访问Basic和HRA局部变量的方法编写单元测试?我无法使用反射访问这些变量.还有另一种方法可以从我的单元测试中访问它们吗?
你不能......你不应该这样做.
您应该测试由方法引起的副作用/状态更改,而不是低级实现细节.就目前而言,你的方法没有副作用,所以没有什么可以测试的.
如果你改变它以返回有用的东西(可能HRA),那么你需要在方法之外测试一些东西.
public int CalculateEmpSal(int empId,int salary)
{
// local varibles
int Basic;
int HRA;
// Calculate employee salary
Basic = salry * (0.40);
HRA = Basic * (0.50);
return HRA;
}
Run Code Online (Sandbox Code Playgroud)
如果您只是想检查值,那么您应该使用调试器逐步执行代码.
顺便说一句,你使用浮点数,整数......你确定要这样做吗?
| 归档时间: |
|
| 查看次数: |
2969 次 |
| 最近记录: |