Controller 类的单元测试
您好,我正在尝试为函数编写一个简单的单元测试。
该函数是从Controller类中获取一些东西并从中获取特定的项目。
这是我想要进行单元测试的代码(在 Helper 类中):
public static string GetMemberCode(Controller controller)
{
var claim = controller.User.Claims.FirstOrDefault(c => c.Type == "membercode");
return (claim != null) ? claim.Value : string.Empty;
}
调用此函数的方式是使用(超过 1 个控制器类将调用此函数)
string membercode = Helper.GetMemberCode(this)
这就是我现在在单元测试中所拥有的内容
[Theory]
[InlineData("asdfqwer")]
public void GetMemberCode_IfControllerIsValid(string membercode)
{
//Arrange
var controller = new Controller(); //ERROR:CS0144 Cannot create an instance of the abstract type or interface 'Controller'
//TODO: How to assign value inside?
//Act
var result = Helper.GetMemberCode(controller);
//Assert
result.Should().Be(membercode);
}
所以我的问题是如何在 Controller 类中赋值?
提前致谢。
Hi I am trying to write a simple unit test for a function.
That function is to get something from the Controller class and get a specific item from it.
This is the code that I wanted to do unit test from (In Helper class):
public static string GetMemberCode(Controller controller)
{
var claim = controller.User.Claims.FirstOrDefault(c => c.Type == "membercode");
return (claim != null) ? claim.Value : string.Empty;
}
The way this function is called is by using (More than 1 Controller class will be calling this)
string membercode = Helper.GetMemberCode(this)
This is what I have in my unit testing for now
[Theory]
[InlineData("asdfqwer")]
public void GetMemberCode_IfControllerIsValid(string membercode)
{
//Arrange
var controller = new Controller(); //ERROR:CS0144 Cannot create an instance of the abstract type or interface 'Controller'
//TODO: How to assign value inside?
//Act
var result = Helper.GetMemberCode(controller);
//Assert
result.Should().Be(membercode);
}
So my question is How to assign value inside the Controller class?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论