我们正在使用Xunit进行测试.我们使用Xunit插件通过内置的Visual Studio 2013 Test Runner运行我们的测试.
问题是某些测试需要引用文件系统上的文件.似乎Xunit(或VS Test Runner-不确定哪个)在执行测试之前将bin目录中的汇编(而不是bin目录中的任何支持文件)复制到另一个目录,因此找不到我们的测试文件.[MS Testing框架指定列出要复制的文件的属性,但Xunit没有.]
如何要么禁用此复制行为,否则编程方式确定原bin/来获取文件目录位置?
似乎大多数提议的解决方案(包括在Xunit错误跟踪器站点上)建议将文件存储为嵌入式资源而不是"复制始终"文件.但是,这并不总是实用的,例如:测试文件操作代码,以及(在一种情况下)需要Sqlite数据库文件的代码.
Play Framework 2模板语言非常好用.然而,虽然它的灵感来自于微软的Razor语言,但一个重要的设计决策是不同的:你如何"逃回"HTML.Razor寻找HTML风格的标签,Play 2使用某种启发式.
我正在尝试编写一个模板,它采用HTML的多个"部分",并生成一个带有标题和目录的页面.我的'structuredpage.scala.html'看起来像这样:
@(title: String)(sections: Pair[String,Html]*)
@main(title){
<nav class="page-links">
@makeTableOfContents(sections)
</nav>
@for(section <- sections){
<section id="@section._1">
<h2>@section._1</h2>
@section._2
</section>
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,其第二个参数是可变数量的部分.似乎没有办法在Play模板语言中调用它.
我创建了一个名为helper的函数Common.section,如下所示:
def section(title: String)(content: Html) = title -> content;
Run Code Online (Sandbox Code Playgroud)
我试过这个:
@()
@import views.Common.section
@structuredpage("Dashboard")(
section("Latest Requests") {
<p>Blah</p>
},
section("Your Details") {
<p>Blah blah</p>
}
)
Run Code Online (Sandbox Code Playgroud)
... type mismatch; found : scala.xml.Elem required: play.api.templates.Html在第5行给出,<p>Blah</p>即被解释为Scala,而不是模板文档HTML.
还有这个:
@()
@import views.Common.section
@structuredpage("Dashboard"){
@section("Latest Requests") {
<p>Blah</p>
},
@section("Your Details") { …Run Code Online (Sandbox Code Playgroud) 我使用的是SecureSocial 2.0.7,我实现了UserServicePlugin,用户可以登录.我可以停止并重新启动服务器(或重新编译或其他),用户将保持登录状态.
自升级到2.0.12以来,登录会话在服务器重新启动时不会持久.
我已经为每个方法添加了调试日志记录UserServicePlugin.用户正在saved登录.但是,当服务器重新启动,并且我尝试以先前登录的用户身份访问页面时,我只是在日志中看到:
[info] play - database [default] connected at jdbc:postgresql://localhost/xxxxxx
[info] application - [securesocial] loaded templates plugin: sec.SecureSocialViews
[info] play - Starting application default Akka system.
[info] application - [securesocial] loaded user service: class sec.LoginUserService
[info] application - [securesocial] loaded password hasher bcrypt
[info] application - [securesocial] loaded identity provider: userpass
[info] play - Application started (Dev)
[debug] application - [securesocial] calling deleteExpiredTokens()
[debug] application - deleteExpiredTokens
[debug] application - [securesocial] anonymous user trying …Run Code Online (Sandbox Code Playgroud) 我们正在尝试使用最新版本的StyleCop设置Jenkins.
我们现有的Jenkins设置通过Style来通过StyleCopCmd调用StyleCop,但StyleCopCmd似乎越来越过时,并且没有维护; 而我宁愿把它剪掉.所以最好的支持解决方案似乎是从msbuild调用StyleCop.
我们的解决方案包含多个项目,但Jenkins Violations插件需要一个stylecop.violations.xml文件,因此广泛记录的导入StyleCop.targets并从每个'csproj'文件调用它的解决方案似乎不起作用(因为这会产生多个违规)文件,Jenkins插件无法应付).
所以:
任何帮助感激不尽.