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
,并且您应该调用此对象上的方法。我不知道你的
代理
课看起来怎么样。您应该阅读“如何创建类的实例”。