2 回答
TA贡献1934条经验 获得超2个赞
我的第一直觉是重构ClassUnderTest并IInterface使其IInterface具有 get 属性,以便您完全删除 IInterface 实现的依赖项,而 MyClass 只有一项工作要做(存储 SampleString):
interface IInterface
{
string SampleString { get; }
}
// Fix MyClass
class MyClass : IInterface
{
public string SampleString => "Hello There"
}
class ClassUnderTest
{
public string MethodUnderTest(IInterface someObject)
{
string stringToBeTested = string.Empty;
if (someObject.SampleString.Contains("."))
stringToBeTested = string.Empty;
else
stringToBeTested = str.Replace(" ", string.Empty);
return stringToBeTested;
}
}
所以我们可以完全删除 Action 并且代码在测试时更具可读性和更容易遵循。
只是另一种看待问题的方式。
- 2 回答
- 0 关注
- 158 浏览
添加回答
举报