我是MongoDB的新手,正在建立一个新的应用程序。NETC#MVC项目来尝试一下。
使用当前的MongoDB。nuget的驱动程序2.2.2。
问题:我有一个单元测试成功,但不保存任何数据到MongoDB集合。
[TestMethod]
public void TestMethod1()
{
IDatabase<Publisher> context = new MyProject.Data.Concrete.MongoDatabase<Publisher>("Publishers");
Publisher pub = new Publisher()
{
Name = "Test"
};
context.Add(pub);
}
但是,如果我将相同的测试放在MVC控制器下,它将保存数据:
public ActionResult Contact() {
ViewBag.Message = "Your contact page.";
IDatabase<Publisher> context = new MyProject.Data.Concrete.MongoDatabase<Publisher>("Publishers");
Publisher pub = new Publisher()
{
Name = "Test"
};
context.Add(pub);
return View();
}
我很好奇为什么会这样?
以下是MongoDatabase类:
public class MongoDatabase<T> : IDatabase<T> where T : class, new()
{
private static string _connectionString = ConfigurationManager.ConnectionStrings["mongodb"].ConnectionString;
private MongoClient _mongoClient = new MongoClient(_connectionString);
private string _collectionName;
private IMongoDatabase _db;
protected IMongoCollection<T> _collection
{
get
{
return _db.GetCollection<T>(_collectionName);
}
set
{
_collection = value;
}
}
public IQueryable<T> Query
{
get
{
return _collection.AsQueryable<T>();
}
set
{
Query = value;
}
}
public MongoDatabase(string collectionName)
{
_collectionName = collectionName;
_db = _mongoClient.GetDatabase(MongoUrl.Create(_connectionString).DatabaseName);
}
public bool Add(T item)
{
var result = _collection.InsertOneAsync(item);
//return result. what can we use here?
return true;
}
public int Add(IEnumerable<T> items)
{
int count = 0;
foreach (T item in items)
{
if (Add(item))
{
count++;
}
}
return count;
}
}
1)您应该更改异步方法的调用。
public async Task Add(T item)
{
await _collection.InsertOneAsync(item);
}
您可以阅读有关异步的更多信息。
2)
//返回结果。我们在这里可以用什么
返回true;
你不必还布尔。您需要在顶层有异常处理程序。
我使用的是spring boot 1.4.4,我有一个测试类,比如: 这是我的application.yml: application.yml是读取的,因为我将该值存储在字符串路径值中,conf.json位于/src/main/resources和/src/test/resouces中 但我要做什么:mapper.readtree(新URL(路径));我得到错误:文件找不到。 我试过:“class
在单元测试中启动和正常关闭Spring应用程序的推荐方法是什么?我知道JUnit5的SpringExtension,但它在测试方法执行之前/之后启动和停止Spring上下文。 我想用测试方法启动和停止spring上下文,因为我想验证是否调用了某些方法(尤其是在关机期间)。 有没有推荐的方法来实现这一点?
我想不通..出于某种原因,Spring Junit没有将我的bean添加到上下文中。请砰!! 由:org.springframework.beans.factory.nosuchBeanDefinitionException引起:没有类型为“com.api.demo.store.FileStorage”的合格bean可用:需要至少有1个bean作为autowire候选bean。依赖项注释:{@or
问题内容: 我试图从动作中返回Json,之后IE尝试下载它并显示保存对话框。我在Firefox中对其进行了测试,并且可以正常运行。 这种行为的原因是什么,我该如何解决? 之后在Javascript部分中我尝试 但是IE仍然不会显示警报。它带给我保存对话框。 我尝试进行更改,并且保存对话框消失了,但是还无法看到警报。我想念什么? 编辑: 这是我的全能Javascript,我使用Valums qqup
我正在为cadence活动功能编写一个单元测试,它使用UUID从联系服务中检索联系人。我想知道我应该把什么样的背景加入到节奏活动中。 这是测试功能。 我收到的错误消息:
本文向大家介绍详解.Net单元测试方法,包括了详解.Net单元测试方法的使用技巧和注意事项,需要的朋友参考一下 1、测试异常 可以直接对方法进行异常测试,也可以对模拟对象进行异常测试,但是,对模拟对象进行异常测试,很少用,所以,这里就介绍对方法的异常测试。请看如下代码,当用户名为空的时候,抛出异常。 例如 测试代码如下 2、测试返回值 这里用到了一个LastCall的一个类,比较常用,一些辅助测试