不知道如何解决这个问题,尝试对方法"GetByTitle"进行单元测试
以下是我的定义:
public class ArticleDAO : GenericNHibernateDAO(IArticle, int>, IArticleDAO
{
public IArticle GetByTitle(string title)
{
IQuery query = Session.CreateQuery("...")
return query.UniqueResult<IArticle>();
}
}
public interface IArticleDAO
{
IArticle GetByTitle(string title);
}
Run Code Online (Sandbox Code Playgroud)
单元测试:
[Test]
public void can_load_by_title()
{
_mockDaoFactory.Setup(x => x.GetArticleDao())
.Returns(_mockArticleDao.Object);
_mockArticleDao.Setup(x => x.GetByTitle("some title"))
.Returns(article1.Object);
_articleManager.LoadArticle("some title");
Assert.IsNotNull(_articleManager.Article);
}
Run Code Online (Sandbox Code Playgroud)
运行测试给出了错误:
System.ArgumentException: Invalid setup on a non-overridable member:
x => x.GetByTitle("some title")
Run Code Online (Sandbox Code Playgroud)
更新
我[Setup]
看起来像:
[Setup]
public void SetUp()
{
_mockDaoFactory = new Mock<IDaoFactory>();
_mockArticleDao = new Mock<ArticleDao>();
_articleManager …
Run Code Online (Sandbox Code Playgroud) 我有以下场景,我正在尝试测试:
当我从客户端到服务端点进行Web服务调用时,我得到以下异常:
{"与动作'的消息HTTP:// IMyService/CreateContainer ’不能在接收器处进行处理,由于在EndpointDispatcher一个ContractFilter不匹配,这可能是因为无论是合同不匹配(发送者和接收者之间不匹配的操作)或一发送方和接收方之间的绑定/安全性不匹配.检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息,传输,无)."}
我开始使用MS Service Trace Viewer,但不确定在哪里查看.在查看客户端和端点中的类时,它们看起来完全相同.
如何开始调试此问题?
导致此异常的可能原因是什么?
我是ASP.NET 4.0 Web API的新手.我们可以在POST操作结束时重定向到另一个URL吗?Response.Redirect(url)
实际上我www.abcmvc.com
通过Web API(比方说www.abcwebapi.com/upload
)从MVC应用程序上传文件(比如说)
这upload
是POST动作.我将多部分表单发布到Web API上传控制器的后期操作.上传后我想重定向回www.abcmvc.com
.
这可能吗?
所以我从http://www.twitterizer.net/downloads/下载了Twitterizer
我尝试在Visual Studio中打开它并获取所有这些nuget错误:
The imported project "C:\Twitterizer\.nuget\nuget.targets" was not found.
Confirm that the path in the <Import> declaration is correct, and that the file
exists on disk.
Run Code Online (Sandbox Code Playgroud)
到底是怎么回事.我该如何处理?
我正在研究元组的新C#特性.我很好奇,元组设计要解决什么问题?
您在应用中使用了什么元组?
更新
感谢到目前为止的答案,让我看看我是否在脑子里直截了当.已经指出了元组的一个很好的例子作为坐标.这看起来不错吗?
var coords = Tuple.Create(geoLat,geoLong);
Run Code Online (Sandbox Code Playgroud)
然后像这样使用元组:
var myLatlng = new google.maps.LatLng("+ coords.Item1 + ", "+ coords.Item2 + ");
Run Code Online (Sandbox Code Playgroud)
那是对的吗?
让我们说我查询数据库并加载项目列表.然后我打开详细视图表单中的一个项目,而不是从数据库中重新查询该项目,我从列表中的数据源创建项目的实例.
有没有办法可以更新数据库记录而无需获取单个项目的记录?
以下是我现在正在做的一个示例:
dataItem itemToUpdate = (from t in dataEntity.items
where t.id == id
select t).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
然后在拉动记录后,我更新项目中的一些值并将记录推回:
itemToUpdate.itemstatus = newStatus;
dataEntity.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
我认为有更好的方法可以做到这一点,任何想法?
我正在生成一个脚本,用于自动将更改从多个开发数据库迁移到暂存/生产.基本上,它需要一堆更改脚本,并将它们合并到一个脚本中,将每个脚本包装在一个IF whatever BEGIN ... END
语句中.
但是,某些脚本需要一个GO
语句,以便例如SQL解析器在创建新列后知道它.
ALTER TABLE dbo.EMPLOYEE
ADD COLUMN EMP_IS_ADMIN BIT NOT NULL
GO -- Necessary, or next line will generate "Unknown column: EMP_IS_ADMIN"
UPDATE dbo.EMPLOYEE SET EMP_IS_ADMIN = whatever
Run Code Online (Sandbox Code Playgroud)
但是,一旦我将其包装在一个IF
块中:
IF whatever
BEGIN
ALTER TABLE dbo.EMPLOYEE ADD COLUMN EMP_IS_ADMIN BIT NOT NULL
GO
UPDATE dbo.EMPLOYEE SET EMP_IS_ADMIN = whatever
END
Run Code Online (Sandbox Code Playgroud)
它失败了,因为我发送了一个BEGIN
没有匹配的END
.但是,如果我删除GO
它,它会再次抱怨一个未知的列.
有没有办法在单个IF
块中创建和更新同一列?
如何刷新Visual Studio Team Explorer面板中的远程分支列表?
在Visual Studio 2017,团队资源管理器,分支面板中,我可以在VSTS实例中看到10个左右的分支.
然后在Chrome中,我删除了一些较旧的分支并创建了一个新分支.
切换回VS 2017,但遥控器/原始分支列表仍然显示旧列表,我无论如何都找不到刷新它.
我尝试更改为另一个回购,团队资源管理器标题上的F5刷新,我甚至关闭并重新打开VS 2017 ... 但没有更新清单以匹配VSTS门户显示的内容
我们有多个配置文件(app.DEV.config,app.TEST.config等)和一个预构建事件,它将正确的配置文件复制到app.config.显然配置特定的文件是在源代码控制中---但目前App.Config也是如此,而且不应该这样.
如何将一个文件标记为从源代码管理中排除,但显然不是来自项目.
我正在使用VS 2005和2005 Team Explorer.
我试图复制在MSDN上找到的示例.我正在使用ASP.NET和EF 4.1(CTP?).我已经使用NuGet来安装EntityFramework包.
我收到此错误:The provider did not return a ProviderManifestToken string
...并且永远不会创建数据库.
这是我的连接字符串:
<add name="HospitalContext"
connectionString=
"data source=.\SQLExpress;initial catalog=NewTestDB;integrated security=True;"
providerName="System.Data.SqlClient"/>
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
var pat = new Patient { Name = "Shane123132524356436435234" };
db.Patients.Add(pat);
var labResult = new LabResult { Result = "bad", Patient = pat };
int recordAffected = db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
这是我的背景:
public class HospitalContext : DbContext
{
static HospitalContext()
{
Database.SetInitializer(new HostpitalContextInitializer());
}
public DbSet<Patient> Patients { get; set; }
public DbSet<LabResult> LabResults { get; set; }
}
public class …
Run Code Online (Sandbox Code Playgroud) c# ×3
sql ×2
asp.net ×1
asp.net-mvc ×1
azure-devops ×1
c#-4.0 ×1
entity ×1
moq ×1
nhibernate ×1
nuget ×1
nunit ×1
resharper ×1
sql-server ×1
t-sql ×1
tfs ×1
tuples ×1
twitterizer ×1
wcf ×1