在控制器内使用成员资格详细信息的单元测试友好方式

发布于 2024-12-07 17:50:45 字数 476 浏览 0 评论 0原文

这是来自我的 ASP.NET MVC 3 应用程序中的一个 controller 的一段代码:

_destinationdetailRepository.Add(new DestinationDetail { 

    DestinationID = destination.DestinationID,
    CreatedOn = DateTime.Now,
    CreatedBy = User.Identity.Name
});

这里重要的是 CreatedBy 属性值这是User.Identity.Name。它效果很好,我也在我的应用程序的其他部分使用它。但是,我想这不是一种友好的单元测试的做事方式。

那么,在控制器内使用会员数据的方式是什么,以便我在对应用程序进行单元测试时感到高兴。

Here is a piece of code from one of the controller inside my ASP.NET MVC 3 App :

_destinationdetailRepository.Add(new DestinationDetail { 

    DestinationID = destination.DestinationID,
    CreatedOn = DateTime.Now,
    CreatedBy = User.Identity.Name
});

What is important here is the CreatedBy property value which is User.Identity.Name. It works great and I use this on another parts of my app as well. But, I guess this is not a unit test firendly way of doing things.

So, what is the way of using Membership data inside the controller so that I will be happy when I am unit testing my app.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烙印 2024-12-14 17:50:45

但是,我想这不是一种友好的单元测试方式。

不,它是单元测试友好的并且是正确的代码。 用户 属性是一个 IPrincipal 接口,可以被嘲笑在单元测试中。

But, I guess this is not a unit test firendly way of doing things.

No, it's unit test friendly and it is correct code. The User property is an IPrincipal interface that can be mocked in an unit test.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文