C# 如何设置一个将bool作为输入的测试用例
我想做两个测试用例,根据它们的布尔值进行评估C# 如何设置一个将bool作为输入的测试用例,c#,nunit,testcase,C#,Nunit,Testcase,我想做两个测试用例,根据它们的布尔值进行评估 public string ActivateAgent(bool trueorfalse) { agentActivationStatus = true; agentPriviledge = true; return $"Agent activation status {agentActivationStatus}, SHD priviledges {
public string ActivateAgent(bool trueorfalse)
{
agentActivationStatus = true;
agentPriviledge = true;
return $"Agent activation status {agentActivationStatus}, SHD priviledges {agentPriviledge}, Agent {surname} is now active";
}
我只做过整数和字符串的单元测试,从未做过bool。这是我尝试创建的测试用例:
[TestCase(true)]
public void AgentIsActivated(bool expected)
{
bool result = Agent.ActivateAgent(bool true);
Assert.AreEqual(expected, result);
}
我只想测试代理是否被激活
这是代理的完整课程,非常基本,但我是C#的新手
您可以使用IsTrue(或IsFalse)
您可以使用IsTrue(或IsFalse)
您的示例代码几乎很好。用于要参数化的测试
[TestCase(true)]
public void AgentIsActivated(bool expected)
{
var agent = new Agent("abc", "def");
bool result = agent.ActivateAgent(expected);
Assert.AreEqual(expected, result);
}
若不需要传递参数,那个么可以使用属性
[Test]
public void AgentIsActivated()
{
var agent = new Agent("abc", "def");
bool result = agent.ActivateAgent(true);
Assert.IsTrue(result);
}
您的示例代码几乎很好。用于要参数化的测试
[TestCase(true)]
public void AgentIsActivated(bool expected)
{
var agent = new Agent("abc", "def");
bool result = agent.ActivateAgent(expected);
Assert.AreEqual(expected, result);
}
若不需要传递参数,那个么可以使用属性
[Test]
public void AgentIsActivated()
{
var agent = new Agent("abc", "def");
bool result = agent.ActivateAgent(true);
Assert.IsTrue(result);
}
ActivateAgent(bool-true)
是无效的C#语法ActivateAgent(bool-true)
是无效的C#语法ActivateAgent(bool-true)
是无效的C#语法谢谢您的评论,但是行:``bool-result=Agent.ActivateAgent(ActivateAgent);`````“ActivateAgent”下面有一条红色斜线,表示“非静态字段、方法或属性'Agent.ActivateAgent(bool)'需要对象引用”@DriftingSands您必须创建对象Agent
,您应该调用此对象上的方法。@hotel,我不确定您的意思是什么?我现在不能运行单元测试吗?我为什么要叫它?我已经在OP.@driffingsands中添加了完整的代理类。您的方法是公共的,而不是静态的,所以您可以在类的实例上调用方法。您应该阅读有关C#编程的基础知识,但也可以继续阅读,以便找到答案ActivateAgent(bool true)
是无效的C#语法谢谢您的评论,但行:``bool result=Agent.ActivateAgent(ActivateAgent);```“ActivateAgent”下面有一条红色斜线,表示“非静态字段、方法或属性'Agent.ActivateAgent(bool)'需要对象引用”@DriftingSands您必须创建对象Agent
,您应该调用此对象上的方法。@hotel,我不确定您的意思是什么?我现在不能运行单元测试吗?我为什么要叫它?我已经在OP.@driffingsands中添加了完整的代理类。您的方法是公共的,而不是静态的,所以您可以在类的实例上调用方法。您应该阅读有关C#编程的基础知识,但也可以继续阅读,以便找到答案谢谢您的帮助,我很高兴听到我的代码即将发布!然而,我得到的问题与上面的例子相同。我得到一个“非静态字段、方法或属性‘Agent.ActivateAgent(bool)’需要对象引用”@DriftingSands您必须创建对象Agent
,并且您应该调用此对象上的方法。我不知道你的代理
课看起来怎么样。您应该阅读“如何创建类的实例”。感谢您的帮助,我很高兴听到我的代码即将发布!然而,我得到的问题与上面的例子相同。我得到一个“非静态字段、方法或属性‘Agent.ActivateAgent(bool)’需要对象引用”@DriftingSands您必须创建对象Agent
,并且您应该调用此对象上的方法。我不知道你的代理
课看起来怎么样。您应该阅读“如何创建类的实例”。