小编Ser*_*ern的帖子

将字符串数组传递给xunit测试方法

我想将一个字符串数组传递给我的一个XUnit测试方法,但是当我执行以下操作时它不起作用(array + params机制)

    [Theory]
    [InlineData(new object[] { "2000-01-02", "2000-02-01" })]
    public void TestSynchronizeMissionStaffing_PeriodNoMatch(string[] dateStrings)
Run Code Online (Sandbox Code Playgroud)

我可以解决这个问题:

    [Theory]
    [InlineData(0, new object[] { "2000-01-02", "2000-02-01" })]
    public void TestSynchronizeMissionStaffing_PeriodNoMatch(int dummy, string[] dateStrings)
Run Code Online (Sandbox Code Playgroud)

但我希望有更好的方法来解决这个问题.

你能告诉我吗?

arrays xunit xunit.net

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

.editorconfig在VS2017中没有做任何事情?

我有以下版本的visual studio:

Microsoft Visual Studio社区2017版15.1(26403.7)发布VisualStudio.15.Release/15.1.0 + 26403.7

我创建了一个新项目并.editorconfig在我的解决方案基础文件夹中添加了一个文件 它的内容如下:

root = true

[*.cs]
indent_style = space:warning
indent_size = 12:warning

# CSharp and VisualBasic code style settings:
[{*.cs,*.vb}]
dotnet_style_qualification_for_field = false:warning
Run Code Online (Sandbox Code Playgroud)

文件位置应该是正确的:

.editorconfig <-- Here it is
ApplicationInsights.config
App_Data
App_Start
bin
Content
Controllers
favicon.ico
fonts
Global.asax
Global.asax.cs
Models
obj
packages.config
Properties
Scripts
Startup.cs
Views
Web.config
Web.config.backup.1
Web.Debug.config
Web.Release.config
WebApplication8.csproj
WebApplication8.csproj.user
Run Code Online (Sandbox Code Playgroud)

但每当我编辑一个.cs文件时,没有什么特别的事情发生(尽管缩进没有遵循规则),我怀疑警告(例如在构建之后)出现,但没有.

我的配置有问题,还是有什么东西会阻碍配置的应用?

editorconfig visual-studio-2017

10
推荐指数
2
解决办法
2434
查看次数

是否可以将同一装配的不同版本引用到单个项目中?

在我的解决方案中,我有几个使用Log4Net(1.2和2.5)的项目.

然后我有一个项目,我在那里进行所有单元测试(其他项目).所以我的情况取决于我测试/模拟我需要Log4Net 1.2或2.5.

我读过您可以在应用程序中支持不同版本的单个程序集(使用代码库等),但是甚至可以将单个程序集的不同版本支持到项目中吗?如果是这样,怎么样?

编辑:

这是一个很小的(2个类,2个方法,2个构造函数)项目,显示了我的问题:

https://srv-file1.gofile.io/download/EQFdOs/212.76.254.142/Log4NetMulti.zip

(我希望链接工作)

.net c# assemblies

6
推荐指数
2
解决办法
5084
查看次数

打字稿相当于C#的默认<T>?

在Typescript中,是否有相当于默认值

如果没有,它的行为能以某种方式实现吗?

例:

 let myNumber = default<Number>(); // 0
 let myInstance = default<MyClass>(); // null
Run Code Online (Sandbox Code Playgroud)

typescript

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

打字稿类型排除?

我知道类型脚本中的类型联合和类型交集,但我找不到使用类型排除的语法或变通方法.有没有办法做到这一点?

type ValidIndices = string ^ '_reservedProperty'; // All strings but '_reservedProperty'
interface MyInterface {
    [property: ValidIndices]: number;
    _reservedProperty: any;
}
Run Code Online (Sandbox Code Playgroud)

typescript

5
推荐指数
1
解决办法
902
查看次数

proto 3 中的可选(重复)字段

我使用 protobuf 和proto 3语法来定义消息。

我希望能够区分未提供值(未指定)的字段和设置/保留默认值(0对于 int32、[]对于重复等)的字段。对于值,有众所周知的包装器可以实现这一点,但对于自定义消息,则需要自己解决。

有些人想出了一种依赖 oneof 的技术,但它不适用于集合(重复或映射)。

现在我开始考虑系统地为每条消息编写包装器。

message MyMessage {
  int32 id = 1;
  string name = 2;
  // ...
  message Optional {
    MyMessage value = 1;
  }
  message OptionalRepeated {
    repeated MyMessage values = 1;
  }    
}
Run Code Online (Sandbox Code Playgroud)

即使MyMessage.OptionalRepeatedMyMessage.Optional可能永远不会被使用。

我想人们一定已经开始依赖这种模式,所以也许已经有一个工具可以自动生成这个样板代码。您知道有什么工具可以减轻这种负担吗?或者更好的是,有更好的方法吗?

protocol-buffers

5
推荐指数
1
解决办法
5419
查看次数

在 clojure 中导入 java lib,它是如何工作的?

我正在尝试构建我的第一个 clojure leiningen 项目,但在代码中使用特定的 java 类时遇到问题。

在编码时,我正在寻找特定的功能并发现了 DatatypeConverter ( http://docs.oracle.com/javase/7/docs/api/javax/xml/bind/DatatypeConverter.html )。然后我必须弄清楚如何导入该库。我对 Maven 一无所知,但我最终有点(受过教育?)猜测我应该在那里寻找该库https://search.maven.org/

所以这就是我最终为我的project.clj 文件编写的内容:

(defproject game-backend "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :main game-backend.core
  :dependencies [
                 [org.clojure/clojure "1.8.0"]
                 [javax.xml.bind/jaxb-api "2.2.12"]
                 ])
Run Code Online (Sandbox Code Playgroud)

这是 core.clj 文件中的 ns 宏调用:

(ns game-backend.core
  (:require [clojure.java.io])
  (:import
   (java.security DigestInputStream)
   (java.io FileInputStream)
   (javax.xml.bind DataTypeConverter)
  )
)
Run Code Online (Sandbox Code Playgroud)

当我 tun 时lein run,出现以下错误(在某个时间点下载了一个包):Exception in thread "main" java.lang.ClassNotFoundException: javax.xml.bind.DataTypeConverter, compiling:(game_backend/core.clj:1:1)

我(我不知道我做错了多少步骤(全部?)。您能告诉我应该如何做吗?

clojure leiningen

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

ChangeDetectionStrategy.OnPush没有按照我的预期行事

我试图让familliar与角2的ChangeDetectionStrategy.OnPush性能提升(如解释在这里).但我这里有古玩的案例.

我有父母AppComponent:

@Component({
  selector: 'my-app',
  template: `<h1>
  <app-literals [title]="title" [dTitle]="dTitle"></app-literals>
  <input [value]="title.name"/>
</h1>
`
})
export class AppComponent implements OnInit {
  title = { name: 'original' };
  dTitle = { name: "original" };

  constructor(private changeDetectorRef : ChangeDetectorRef) {

  }

    ngOnInit(): void {
      setTimeout(() => {
        alert("About to change");
        this.title.name = "changed";
        this.dTitle = { name: "changed" };
      }, 1000);
    }

}
Run Code Online (Sandbox Code Playgroud)

和子LiteralsComponent组件:

@Component({
  selector: 'app-literals',
  template: `  {{title.name}}
  {{dTitle.name}}`,
  changeDetection: ChangeDetectionStrategy.OnPush
}) …
Run Code Online (Sandbox Code Playgroud)

typescript angular

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