我正在 TFS 服务器上运行一个构建的测试解决方案。我正在使用命令生成 .trx 文件
dotnet test --logger:trx;
Run Code Online (Sandbox Code Playgroud)
整个解决方案,其中包括多个测试项目。但是,默认的 .trx 文件名不包含对其链接到的测试项目的显式引用,我需要它来实现自动报告目的。它们连接用户、机器、日期和时间,仅此而已。
我知道我可以使用 LogFileName={FullPath} 在命令行中指定完整路径和名称,但这不是动态的,因为您必须指定名称,并且仅适用于每个项目级别,而不适用于完整解决方案(这是有道理的,因为您不能对多个测试结果文件使用相同的路径和名称)。
有没有办法通过命令行和/或我的 TFS 构建定义(可能带有变量)动态地将项目名称放入 trx 文件中?我还没有找到任何相关信息。
提前致谢 !
我正在使用 NodaTime 管理 .Net Core WebApi 中的日期和时区。库中的类型之一是 OffsetDateTime,它与 .Net 框架中的 DateTimeOffset 非常相似。我在任何地方都使用它以明确且透明的方式操作日期,因为日期有时会进入系统时区和用户时区。
我需要在某个时间点向某个日期添加一个月,但我无法向 OffsetDateTime 对象添加一个月,我所能做的就是累加直到小时或与日历无关的称为 Duration 的类型。如果它是 Instant 类型,我会理解,因为 Instant 以一种非常抽象的方式表示时间点,但不是 OffsetDateTime。OffsetDateTime 甚至有一个“日历”属性,它确实显示它绑定到日历系统,该系统应该允许您像我想做的那样进行算术,而不必进行类型转换等。
最重要的是,DateTimeOffset(来自 .net 框架)允许您添加月份,但我希望保持一致并在各处使用相同的类型。
长话短说,我做不到:
public OffsetDateTime GetPreviousMonth(OffsetDateTime input)
{
return input.AddMonths(-1)
}
Run Code Online (Sandbox Code Playgroud)
我只能做:
offsetDateTime.PlusHours(15)
offsetDateTime.PlusMinutes(3000)
offsetDateTime.Minus(Duration.FromMinutes(60))
offsetDateTime.Minus(Duration.FromHours(1))
Run Code Online (Sandbox Code Playgroud)
知道如何在不进行类型转换的情况下解决这个问题吗?也许我忽略了文档中的某些内容,但我不这么认为。
我在表中使用“ shown.bs.collapse”和“ hidden.bs.collapse”引导事件。在第一页上,事件被触发并通过
$('#accordion')
.on('shown.bs.collapse', function (e) {
var id = e.target.id;
loadBatchFileDetails(id);
})
.on('hidden.bs.collapse', function (e) {
var id = e.target.id;
$("#details_" + id).hide();
$('#loader_' + id).show();
});
Run Code Online (Sandbox Code Playgroud)
放入文档中。该表是分页的,其他页面是通过ajax调用和成功回调生成的:
success: function (e) {
$('#batchFilesList').html(e);
Run Code Online (Sandbox Code Playgroud)
问题在于,引导事件之后不再被监听。我尝试在回调中重新注册事件,就像在这里找到的每条建议一样(例如,Bootstrap 3-如果手风琴位于通过ajax填充的模式中,则不会触发Event hidden.bs.collapse),但是没有任何效果。在回调中注册其他所有常规事件,或者如果已经在页面中注册了常规事件,则不会监听“ [...]。bs.collapse”事件。
有什么建议么 ?我尝试了很多我没有主意的事情:/我尝试了done(),$find()方法,尝试了其他ajax完成/停止回调等,但是没有任何效果。