最近,我们一直在一个新项目中尝试单元测试,现在我们想使用来将一个对象传递给我们的测试方法[InlineData],因此我们可以对多个不同的数据输入多次使用同一测试方法。
[ClassData]并且[MemberData]据我了解,也可以提供,但似乎没有提供解决方案。
基本上,有一种方法可以通过XUnit传递对象,如下所示:
[Theory]
[InlineData(new Object { Attribute = 1 })]
public void Test(Object obj)
{
// Assert
Xunit.Assert.NotNull(obj.Attribute);
}
Run Code Online (Sandbox Code Playgroud)
还是这不是正确的约定或用法?
传递int和string的使用效果很好[InlineData]
这是我们第一次尝试 Umbraco,我们正在按照官方教程创建 Arcticle/新闻功能作为示例。
我们基本上从这里开始
因此,首先我们创建了一个主页和一个母版页,以及介于两者之间的所有内容,直到我们到达这一点。
显示的所有内容都有效,我们有一个概述,宏观/部分视图运行良好。
但是当我们想要导航到实际的 ArticleItem 时,我们遇到了标题中提到的错误。
无法将源内容类型 Umbraco.Web.PublishedContentModels.ArticlesItem 绑定到模型内容类型 Umbraco.Web.PublishedContentModels.ArticlesMain。视图模型和内容模型都是 PureLive,版本相同。该应用程序处于不稳定状态,应重新启动。
现在,我的猜测是 Masterpage 作为 ArticlesMain 模板存在问题,这强制使用该模型/传递到 ArticlesItem 页面。但是我的MVC已经很生疏了,所以现在我自己似乎无法找出解决方案。
使用的代码是从教程中 1:1 复制的,以确保我们没有弄乱任何东西,但到目前为止还没有出现任何问题。我们也在 Umbraco CMS 中完成了所有操作,我们的 IDE (VS) 没有使用。
/Views/ArticlesMain.cshtml
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
<ContentModels.ArticlesMain>
@using ContentModels = Umbraco.Web.PublishedContentModels; @{ Layout = "HomePage.cshtml"; }
<div id="main-container">
<div id="main" class="wrapper clearfix">
<section>
<h2>@Umbraco.Field("articlesTitle")</h2>
<p>@Umbraco.Field("articlesBodyText")</p>
<p>@Umbraco.RenderMacro("listArticles")</p>
</section>
</div>
<!-- #main -->
</div>
<!-- #main-container -->Run Code Online (Sandbox Code Playgroud)
/Views/ArticlesItem.cshtml
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
<ContentModels.ArticlesItem>
@using ContentModels = Umbraco.Web.PublishedContentModels; @{ Layout = "ArticlesMain.cshtml"; }
<h1>@Umbraco.Field("articlesTitle")</h1>
<article> …Run Code Online (Sandbox Code Playgroud)