小编and*_*ewf的帖子

如何从Visual Studio中的Xunit测试中引用测试文件?

我们正在使用Xunit进行测试.我们使用Xunit插件通过内置的Visual Studio 2013 Test Runner运行我们的测试.

问题是某些测试需要引用文件系统上的文件.似乎Xunit(或VS Test Runner-不确定哪个)在执行测试之前将bin目录中的汇编(而不是bin目录中的任何支持文件)复制到另一个目录,因此找不到我们的测试文件.[MS Testing框架指定列出要复制的文件的属性,但Xunit没有.]

如何要么禁用此复制行为,否则编程方式确定原bin/来获取文件目录位置?

似乎大多数提议的解决方案(包括在Xunit错误跟踪器站点上)建议将文件存储为嵌入式资源而不是"复制始终"文件.但是,这并不总是实用的,例如:测试文件操作代码,以及(在一种情况下)需要Sqlite数据库文件的代码.

xunit.net visual-studio-2013

22
推荐指数
3
解决办法
1万
查看次数

如何在Play Framework 2中调用接受可变数量的args的模板

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)

scala playframework-2.0

7
推荐指数
1
解决办法
1649
查看次数

升级到SecureSocial 2.0.12,现在会话不会被持久化

我使用的是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)

playframework-2.0 securesocial

6
推荐指数
1
解决办法
551
查看次数

让StyleCop和Jenkins做我的竞标

我们正在尝试使用最新版本的StyleCop设置Jenkins.

我们现有的Jenkins设置通过Style来通过StyleCopCmd调用StyleCop,但StyleCopCmd似乎越来越过时,并且没有维护; 而我宁愿把它剪掉.所以最好的支持解决方案似乎是从msbuild调用StyleCop.

我们的解决方案包含多个项目,但Jenkins Violations插件需要一个stylecop.violations.xml文件,因此广泛记录的导入StyleCop.targets并从每个'csproj'文件调用它的解决方案似乎不起作用(因为这会产生多个违规)文件,Jenkins插件无法应付).

所以:

  1. 有没有办法合并多个StyleCop违规文件,以便它们被Jenkins Violations插件视为一个,或者
  2. 在Msbuild中,是否有某种方法可以窥视多个".csproj"文件,提取".cs"文件并在一个文件中通过StyleCop运行它们.或者:
  3. 鉴于我们正在使用Jenkins和多个项目文件,是否有另一种方法来报告解决方案中所有项目的违规?

任何帮助感激不尽.

msbuild stylecop jenkins

4
推荐指数
1
解决办法
6706
查看次数