在NUnit 3中,他们用"OneTimeSetUp"替换了属性"TestFixtureSetUp".然而,它实际上似乎没有用,除非我是一个完全白痴.
这是我的代码如下:
[TestFixture]
public class DiskServiceTests
{
private readonly Mock<IDriveInfoWrapper> _driveInfoWrapper = new Mock<IDriveInfoWrapper>();
private IDiskService _diskService;
[OneTimeSetUp]
public void Init()
{
_diskService = new DiskService(_driveInfoWrapper.Object);
}
[Test]
public void GetDriveInfo_ShouldReturnDriveInfo()
{
// Act
var result = _diskService.GetDriveInfo();
// Assert
Assert.IsNotNull(result);
}
}
Run Code Online (Sandbox Code Playgroud)
测试将开始,但它永远不会进入Init(),因此_diskService为null.我在这里做错了什么,或者这可能是一个错误?
我正在尝试学习一些flex/bison,我正在阅读John Levine(O'Reilly)的Flex&Bison.有一个例子我需要运行,但是我无法运行它,因为我收到以下错误:
/tmp/ccKZcRYB.o: In function `yylex':
fb3-1.lex.c:(.text+0x2bd): undefined reference to `yylval'
/tmp/cclBqnOk.o: In function `main':
fb3-1funcs.c:(.text+0x420): undefined reference to `yyparse'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我有四个源文件:
fb3-1.h:
/*
* Declarations for calculator fb3-1
*/
/* Interface to the lexer */
extern int yylineno; /* from lexer */
void yyerror(char *s, ...);
/* nodes in the abstract syntax tree */
struct ast {
int nodetype;
struct ast *l;
struct ast *r;
};
struct numval {
int nodetype; /* type …Run Code Online (Sandbox Code Playgroud) 我在理解如何使用TeamCity上的Webdeploy将ASP.NET核心应用程序发布到服务器时遇到一些麻烦.
我安装了dotnet核心teamcity插件,并有两个构建步骤:
dotnet restore(作为命令行步骤,nuget上的内置步骤超时)
dotnet发布src/projectName/projectName.csproj
但是我很困惑第三步该怎么做,即将结果发布dotnet publish到我们的服务器.
传统上我们使用MSBuild并定位发布配置文件,但我不确定.NET内核是否使用MSBuild.
我有一个发布配置文件作为我的解决方案的一部分,在VS2017中成功运行.我已经看过TeamCity博客,该博客讨论了如何设置TeamCity以使用.NET Core,虽然它确实提到了WebDeploy,但它只是简单地提到它可以在dotnet publish没有真正解释如何的情况下一起使用.
我在理解如何findOne在Mongo C#2.4驱动程序中进行操作时遇到了麻烦。
我的收藏中包含略超过910万个平面文档。当我findOne在Robomongo中执行时,查询需要0秒,并返回我想要的结果。
在C#中,这大约需要7-8秒。
目前,我正在实施类似的查找:
var result = await _collection.Find(filterDefinition).SingleAsync();
Run Code Online (Sandbox Code Playgroud)
这需要7到8秒。
Mongo查询-查找一-0秒
.findOne({ipFrom: { $lte: 1436497981 }, ipTo: { $gte: 1436497981 }});
Run Code Online (Sandbox Code Playgroud)
Mongo Query-查找-7.4秒
.find({ipFrom: { $lte: 1436497981 }, ipTo: { $gte: 1436497981 }});
Run Code Online (Sandbox Code Playgroud)
我在上找不到FindOne或FindOneAsync方法IMongoCollection<>,因此我怀疑.Find(...).SingleAsync()只是在执行mongo find函数。我可以看到有FindOneAndUpdate,FindOneAndDelete,和FindOneAndReplace,但没有FindOne。
我用于查询的过滤器定义如下:
var filter = Builders<TLocationEntity>.Filter;
var filterDefinition = filter.And(
filter.Lte("ipFrom", ipValue),
filter.Gte("ipTo", ipValue)
);
Run Code Online (Sandbox Code Playgroud)
基本上,findOne在C#驱动程序中执行a的正确方法是什么?
我有一个带xUnit的.NET Framework 4.5.2单元测试项目。在我的单元测试项目我有一个App.config使用相同的文件appSettings作为我的Web.config。
当我运行测试时,ConfigurationManager.AppSettings[<keyname>]始终返回null-表示它没有读取App.config文件。
在bin目录中查找,我可以看到MyProject.Tests.UnitTests.dll.config文件的内容似乎与我的文件相同App.config。
这是xUnit的错误吗?我是否必须进行任何xUnit配置ConfigurationManager才能工作?
我的 Angular 6 应用程序遇到问题,我成功导航到另一个视图,但随后它自动将我重定向回索引视图。我成功地在屏幕上看到了组件的内容,ngOnInit触发了,我还可以从ActivatedRoute.
如果我在地址栏中手动输入 URL,它不会导航回主页。
谁能看到我哪里出错了?提前干杯。
更新1
如果我使用 ana而不是 a button,它不会重定向。
<!-- this will cause the route to redirect back -->
<button
class="btn btn-default btn-sm pull-right"
[routerLink]="['/destination', _destination.placeId]">
Edit...
</button>
<!-- This works! -->
<a
class="btn btn-default btn-sm pull-right"
[routerLink]="['/destination', _destination.placeId]">
Edit (LINK)
</a>
Run Code Online (Sandbox Code Playgroud)
app.module.ts - 路线
RouterModule.forRoot([
{ path: '', component: HomeComponent, pathMatch: 'full' },
{ path: 'destination/:id', component: EditDestinationComponent }
], { enableTracing: true })
Run Code Online (Sandbox Code Playgroud)
导航触发器
<button
class="btn btn-default btn-sm …Run Code Online (Sandbox Code Playgroud) 我们尝试在 BitBucket 管道上使用无服务器方式部署 lambda,但在运行命令时遇到了问题serverless config credentials。这个问题也发生在 docker 容器和我们本地的机器上。
这是我们正在运行的命令:
serverless config credentials --stage staging --provider aws --key $AWS_ACCESS_KEY --secret $AWS_ACCESS_SECRET
Run Code Online (Sandbox Code Playgroud)
它给了我们错误:
Error: Profile default does not exist
Run Code Online (Sandbox Code Playgroud)
该配置文件在我们的 serverless.yml 文件中定义。如果我们在运行命令之前重命名 serverless 文件,它就会起作用,然后我们可以将 serverless.yml 文件放回去并成功部署。
例如
- mv serverless.yml serverless.old
- serverless config credentials --stage beta --provider aws --key $AWS_ACCESS_KEY --secret $AWS_ACCESS_SECRET
- mv serverless.old serverless.yml
Run Code Online (Sandbox Code Playgroud)
我们尝试--profile default在那里添加开关,但没有什么区别。
值得注意的是,直到我们开始在无服务器文件中使用 SSM 参数存储之前,这并不是一个问题,当我们添加它时,它就开始给我们带来错误Profile default does not exist。
serverless.yml(部分)
service: our-service
provider:
name: aws
runtime: nodejs12.x
region: eu-west-1 …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个在数据中有一些差异的对象列表.诸如字符串之类的类型很好,因为它们每次都是随机的,但是我发现bool在CreateMany()生成的集合中的每个对象中始终是相同的值.
示例类,用于演示:
public class FooBar
{
public string Name { get; set; }
public bool IsFoo { get; set; }
public bool IsBar { get; set; }
}
var fooBars = new Fixture().Build<FooBar>().CreateMany(5).ToList();
// Result
fooBars[0].IsFoo; // true
fooBars[1].IsFoo; // true
fooBars[2].IsFoo; // true
...
Run Code Online (Sandbox Code Playgroud)
可以实现以下目标吗?
// Wanted result
fooBars[0].IsFoo; // true
fooBars[1].IsFoo; // false
fooBars[2].IsFoo; // true
fooBars[3].IsFoo; // false
...
Run Code Online (Sandbox Code Playgroud)
干杯!
.net ×3
angular ×1
asp.net-core ×1
autofixture ×1
aws-lambda ×1
bison ×1
c# ×1
flex-lexer ×1
mongodb ×1
nunit-3.0 ×1
serverless ×1
teamcity ×1
unit-testing ×1
webdeploy ×1
xunit ×1