- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对像这样的应用程序 ASP.NET MVC 5 的测试有一些问题
Castle.Proxies.IdentityUserLogin: : EntityType 'IdentityUserLogin' has no key defined. Define the key for this EntityType. Castle.Proxies.IdentityUserRole: : EntityType 'IdentityUserRole' has no key defined. Define the key for this EntityType. IdentityUserLogins: EntityType: EntitySet 'IdentityUserLogins' is based on type 'IdentityUserLogin' that has no keys defined. IdentityUserRoles: EntityType: EntitySet 'IdentityUserRoles' is based on type 'IdentityUserRole' that has no keys defined.
我测试了 UserService 并使用了 Moq 和 NUnit 框架。当我添加这个时,我解决了所有问题:
var mockContext = new Mock() { CallBase = true };
但是现在我遇到了这个问题:
Message: System.ArgumentException : Constructor arguments cannot be passed for interface mocks.
如果你愿意,你可以检查我下面的代码,但我认为问题只在“mockContext”中
[Test, TestCaseSource(typeof(UserServiceTestData), nameof(UserServiceTestData.WrongCreateUserTestCases))]
public void ShouldWrongUserCreationTest(UserDTO userDto)
{
//Arrange
var user = new ApplicationUser
{
Email = "test",
Roles = { new IdentityUserRole { UserId = "test", RoleId = "test" } },
ClientProfile = new ClientProfile { Name = "test" }
};
var mockStore = new Mock<>>();
mockStore.Setup(x => x.FindByIdAsync(It.IsAny())).Returns(Task.FromResult(user));
mockStore.As<>>().Setup(x => x.FindByEmailAsync("existed")).Returns(Task.FromResult((ApplicationUser)null));
mockStore.As<>>();
mockStore.As<>>().Setup(x => x.AddToRoleAsync(It.IsAny(), It.IsAny()))
.Returns(Task.FromResult(IdentityResult.Success));
mockStore.As<>>().Setup(x => x.GetRolesAsync(It.IsAny()))
.Returns(Task.FromResult((IList)new List()));
mockStore.Setup(x => x.CreateAsync(It.IsAny()))
.Returns(Task.FromResult(IdentityResult.Success));
var mockDbSet = new Mock<>>(MockBehavior.Strict);
mockDbSet.Setup(x => x.Add(It.IsAny())).Returns(new ClientProfile());
var userManager = new ApplicationUserManager(mockStore.Object);
var mockContext = new Mock() { CallBase = true };
var mock = new Mock(mockContext.Object);
mock.Setup(a => a.UserManager).Returns(userManager);
//Act
var userService = new UserService(mock.Object);
OperationDetails result = userService.Create(userDto);
//Assert
Assert.That(result.Succedeed, Is.False);
}
1 Câu trả lời
我想问题出在这一行:
var mock = new Mock(mockContext.Object);
moq 基于 IIdentityUnitOfWork 创建的动态类只有默认构造函数,不知道如何处理 mockContext.Object。从模拟构造函数中删除 mockContext.Object 应该可以解决您的问题。
关于asp.net-mvc - Moq 表示不能为接口(interface)模拟传递构造函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46066587/
Viết một giao diện chỉ dùng để tập trung hóa các giao diện khác là một thực hành tốt hay xấu? giao diện Giao diệnA: Giao diệnB, Giao diệnC { }
Có cách nào để xác định loại cụ thể từ danh sách các giao diện tùy ý không? Tôi biết về chuyển đổi kiểu nhưng tôi muốn biết tất cả các giao diện được đáp ứng. Ví dụ, cho: loại Mover giao diện { Mo
Tôi đang cố gắng tạo một đống Fibonacci. (Chúng được đề cập nhiều lần trong lớp thuật toán mà tôi đang học và tôi muốn kiểm tra nó.) Tôi muốn heap hoạt động với bất kỳ loại nút nào, vì vậy tôi định nghĩa một giao diện Nút: gói loại nút
Đây là mã của tôi: kiểu IA giao diện { FB() IB } kiểu IB giao diện { Bar() chuỗi } kiểu A struct {
Ví dụ A: // mã giả giao diện IFoo { void bar(); } lớp FooPlatformA : IFoo { void bar() {
Việc hợp nhất phản hồi leppies sẽ biên dịch - nhưng theo tôi có một số nhược điểm, tôi muốn trình biên dịch buộc mỗi lớp con phải xác định thuộc tính Uri của riêng chúng. Mã hiện tại: [] type UriUserControl() = inh
Tôi đang xây dựng một dự án lấy một thuật ngữ từ người dùng, sau đó thực hiện tìm kiếm trên Google và trả về danh sách các tiêu đề ở định dạng json. Tôi đang sử dụng API serpwow để thực hiện tìm kiếm trên Google và cố gắng phân tích phản hồi. Nhưng lỗi tôi nhận được là:
Tôi chỉ muốn triển khai một số giao diện nhất định bên trong các giao diện khác, tôi không muốn chúng có thể được kế thừa trực tiếp bởi một lớp. Cảm ơn trước! Câu trả lời hay nhất Bạn không thể làm điều này trong C# - bất kỳ lớp nào cũng có thể triển khai bất kỳ giao diện nào mà nó có quyền truy cập
Tôi mới làm quen với Go và có một số thủ thuật mà tôi vẫn chưa thành thạo. Ví dụ, tôi có một hàm mà tôi có thể gọi như thế này: myVar.InitOperation("foo",Operator.EQUAL,"bar") myVar.Init
Tôi có một giao diện chung mô tả quyền truy cập vào luồng đầu ra, như thế này: interface IOutput { function writeInteger(aValue:Int):Void;
Tôi đang thực hiện một dự án muốn gắn mạch cảm biến quang vào máy tính thông qua một loại giao diện nào đó (tốt nhất là USB). Tuy nhiên, vì tôi là người mới nên tôi không biết nên giải quyết vấn đề này theo hướng nào. Giả sử tôi có một USB được kết nối
Bối cảnh Tôi đang cố gắng tạo một ứng dụng đơn giản để thực sự hiểu toàn bộ ngăn xếp DDD+TDD+v.v. Mục tiêu của tôi là đưa lớp kho lưu trữ DAL vào thời gian chạy một cách động. Điều này giúp các lớp dịch vụ ứng dụng và miền của tôi có thể kiểm tra được. Tôi dự định sử dụng "DI của người nghèo" để hoàn thành hiện tại
Trong Java, việc một giao diện mở rộng một giao diện khác là hoàn toàn hợp pháp. Mối quan hệ này trong UML trông giống như mối quan hệ "mở rộng" (mũi tên liền, đóng, không tô màu) hay mối quan hệ "thực hiện" (mũi tên đứt nét, đóng, không tô màu)?
Tôi muốn tạo một giao diện với các triển khai mặc định của hàm so sánh và hàm bằng nhau. Nếu tôi xóa mọi thứ khỏi kiểu IKeyable ngoại trừ thành viên Key, thì đó là một giao diện hợp lệ miễn là tôi không thêm triển khai mặc định. từ
Giao diện kép trong COM là giao diện có thể truy cập thông qua phương thức DispInterface hoặc VTable. Bây giờ ai đó có thể cho tôi biết chính xác sự khác biệt giữa hai phương pháp này là gì không? Tôi nghĩ là V
Tôi có một phương thức lớp trả về danh sách nhân viên có thể được lặp lại. Cách tốt nhất để trả về danh sách là gì? Thông thường tôi chỉ trả về một ArrayList. Tuy nhiên, theo tôi hiểu thì giao diện này phù hợp hơn với loại hoạt động này. Giao diện nào là tốt nhất để sử dụng? Ngoài ra, tại sao lại trả về giao diện (trong
Tôi muốn khởi tạo một giao diện không tĩnh bên trong từ bên ngoài lớp bao bọc. Liệu điều này có thể thực hiện được không? Hãy xem xét đoạn mã sau: shared class AOuterClass() { Integer val = 3; shared
Tôi đã viết một giao diện cho một lớp như thế này: public interface IGenericMultipleRepository { Lazy> addresses { ge
Tôi là người mới bắt đầu học UML và hiện tôi đang tạo sơ đồ trình tự và vấn đề là tôi muốn triển khai giao diện DAO dựa trên dữ liệu đầu vào của người dùng. Cách vẽ sơ đồ trình tự chính xác để triển khai giao diện. Câu trả lời hay nhất: Bạn sẽ không ở chế độ SD
Để tạo một nhóm được xác thực có điều kiện bằng cách sử dụng xác thực jsr 303, hãy chuyển lớp giao diện cho chú thích như sau: @NotEmpty (groups={UpdateValue.class}) Tôi có nhiều giao diện khác nhau
Tôi là một lập trình viên xuất sắc, rất giỏi!