我正在使用Moq和xUnit来创建单元测试。但是,由于我的行动方法的设置方式,我很难这样做。在我的控制器中,我使用
var user = await userManager.FindByNameAsync(User.Identity.Name);
获取已登录的用户信息。我使用这种方法来避免参数的数量有没有办法在单元测试中模拟它,或者控制器是否应该以不同的方式设置?
AppUser
类扩展IdentityUser
以获取控制器中使用的特定属性。
答案 0 :(得分:0)
对于上面的模拟,您可以执行以下操作,
class my_libav
{
public:
typedef std::function<void(std::string)> STREAM_LOGGING_CALLBACK_CB;
...
void SetStreamLoggingCallback(STREAM_LOGGING_CALLBACK_CB p_stream_logger);
private:
STREAM_LOGGING_CALLBACK_CB mp_stream_logging_callback;
...
static void RedirectLoggingOutputs( void *ptr, int level, const char *fmt, va_list vargs );
};
请注意我还没有编译这段代码,但你应该能够理解。