У меня есть приложение C# (это приложение Cocoa), и мне нужно протестировать представление / контроллер, используя NUnit и Moq, и это немного сложно. Точнее, у меня есть многоуровневое приложение, подключенное к базе данных sqlite- net. Я хочу проверить метод добавления. Это одна из моих таблиц:
public class User
{
[PrimaryKey, AutoIncrement]
public int ID { get; set; }
public String email { get; set; }
public String password { get; set;
}
Я создал для этого DBContext, в котором я создаю базу данных, таблицы и подключаюсь к базе данных. Будучи многоуровневым приложением, у меня также есть UserRepo и UserBusinessLogi c, в которых я делаю все запросы. У меня вопрос, как я могу проверить работу addUser? Я должен отметить, что я использую sqlite-pcl- net в качестве базы данных. Я уже пробовал это:
var mock = new Mock<IUserBLL>();
User user = new User
{
email = "a@yahoo.com",
password = "1234",
};
var controller = new CreateController(mock.Object);
Но мой тест завершается неудачно с нулевым исключением при попытке создать контроллер. Я думаю о настройке для макета? Это мой контроллер:
public partial class CreateController : NSViewController
{
IUserBLL userBLL;
public CreateAccountController(IntPtr handle) : base(handle)
{
Initialize();
userBLL = new UserBLL();
}
/* I AM USING THIS ONE */
public CreateAccountController(IUserBLL userBLL) : base()
{
Initialize();
this.userBLL = userBLL;
}
Мне нужно проверить контроллер и его методы, а не только методы из базы данных.