我需要形成一个报告,在日期间隔内为每个日期提供一些信息。
我需要在单个查询中使用它(不能创建任何函数或支持表)。
我怎样才能在 PrestoDB 中实现这一点?
注意:这里、这里甚至这里有很多特定于供应商的解决方案。但是它们都不能满足我的需要,因为它们要么不能在 Presto 中工作,要么不能使用表/函数。
更准确地说,这里是一个查询示例:
WITH ( query to select all dates between 2017.01.01 and 2018.01.01 ) AS dates
SELECT
date date,
count(*) number_of_orders
FROM dates dates
LEFT JOIN order order
ON order.created_at = dates.date
Run Code Online (Sandbox Code Playgroud) 我有一个具有以下结构的 Go 项目:
foo/foo.go
foo/foo_test.go
main.go
Run Code Online (Sandbox Code Playgroud)
如您所见,没有针对main.go.
我使用以下命令收集覆盖率报告:
go test ./foo ./ -coverprofile=coverage.txt -covermode=atomic
Run Code Online (Sandbox Code Playgroud)
在这里./foo并./显示在哪里寻找包裹。
问题:我将覆盖率报告发送到 codecov.io,它显示我的代码 100% 被测试覆盖。但这不是真的,因为我main.go根本没有测试。
系统似乎只计算那些明确指定测试文件的包。
问题:如何修复覆盖率报告以计算有关未测试包的信息?
注意:你可以在GitHub 上找到我的项目,真正的统计数据在这里。该项目具有不同的结构,但问题仍然存在(错误的覆盖范围)。
我有一个使用PrimeNG组件的Angular 2应用程序.
UI具有自动完成组件,其中multi-select(p-autoComplete)类似于文档中的那个:
<p-autoComplete [(ngModel)]="countries"
[suggestions]="filteredCountriesMultiple"
(completeMethod)="filterCountryMultiple($event)"
[minLength]="1"
placeholder="Countries"
field="name"
[multiple]="true">
</p-autoComplete>
Run Code Online (Sandbox Code Playgroud)
唯一的区别是,在我的情况下,输入字段具有固定的尺寸和滚动条.
问题:
每当我从自动完成列表的中间删除一个元素时,它会将焦点移动到输入字段的底部.它看起来像这样:
这对用户来说非常烦人,特别是当有几个字段需要删除时.
问题:如何在删除元素后强制滚动停留在同一位置?
如何重现:
更具体地说,您可以通过添加下一个css来重现该问题
max-width: 150px;
max-height: 100px;
overflow-y: auto;
Run Code Online (Sandbox Code Playgroud)
直接在文档页面上ui-autocomplete-multiple-container.ui-inputtext使用浏览器控制台进入css类.
更新:
我设法通过onUnselect使用如下代码在组件中设置方法来获取滚动条位置:
onUnselect(event: any) {
document.querySelector("div.my-input-class").scrollTop
}
Run Code Online (Sandbox Code Playgroud)
更新2:我设法让它工作
解决方案是组合onUnselect和onFocus事件处理程序.
第一.我将最后一个滚动条位置保存到onUnselect调用中的字段中.
第二.我在onFocus调用期间将此值设置为指定的元素.
相应的代码如下所示:
scrollPosition: number = 0;
onUnselect(event: any) {
let input = document.querySelector("div.my-input-class");
this.scrollPosition = input.scrollTop;
}
onFocus(event: any) {
let input = document.querySelector("div.my-input-class");
input.scrollTop = …Run Code Online (Sandbox Code Playgroud) 我有 spring boot 项目,我尝试使用spring boot 依赖管理插件来使用提供的依赖版本。
该插件“模拟”mavens BOM 行为,这意味着它以某种方式从 maven 父项目中检索 libs 版本(我不确定这是如何实现的,但通常版本取自pom.xml)。它确实具有jackson.version用于为com.fasterxml.jackson.dataformat组内的工件设置版本的属性。
我的项目使用来自同一组的工件,但它不包含在 BOM ( jackson-dataformat-yaml) 中,但我想使用相同的 jackson 版本。
我尝试添加这样的编译依赖项:
compile "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${jackson.version}"
Run Code Online (Sandbox Code Playgroud)
但构建失败:
无法为 org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 类型的对象获取未知属性“jackson”。
问:有没有办法访问该属性?或者我还能如何重用 lib 版本?
更新 我不知道为什么我不从一开始就尝试这个,但它有效:
compile "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml"
Run Code Online (Sandbox Code Playgroud)
但是我不知道为什么会这样(工件没有在任何地方声明)。
我最近实现了简单的 JAX-RS REST 端点。我想知道是否有任何透明的集成测试方式?
我在 stackowerflow 上搜索了一下,发现了这些问题:first,second。它们有点过时了,我希望已经有一些更好的测试方法。那里提出的解决方案并没有解决我的问题,因为它们提供了特定于供应商的方法或一些复杂的第三方方法。
问:测试 JAX-RS 服务的现代方法是什么?Java EE 是否为此提供了解决方案?或者一般来说,在 Java EE 生态系统中编写控制器测试的最佳方式是什么?
更具体地说,我正在寻找某种可以轻松测试 REST 调用的方法。在 spring 框架中,它通常是这样的:
@Autowired
MockMvc mvc;
@MockBean
MyService service;
@Test
public void shouldGetMyDto() {
MyDto dto = new MyDto("test-id", "test-name");
given(service.getMyDto("test-id")).willReturn(dto);
mvc.perform(get("/api/my-entities/test-id"))
.andExpect(status().isOk())
.andExpect(content().contentType(APPLICATION_JSON_UTF8_VALUE))
.andExpect(jsonPath("$.id", is("test-id")))
.andExpect(jsonPath("$.name", is("test-name")));
verify(service).getMyDto("test-id");
}
Run Code Online (Sandbox Code Playgroud) 我有一个枚举,我想在几个地方使用它。让我们这样说枚举:
export enum MyEnum {
MY_VALUE,
MY_SECOND_VALUE
}
Run Code Online (Sandbox Code Playgroud)
每次使用它时,我都必须在值前指定枚举名称,例如:
MyEnum.MY_VALUE
Run Code Online (Sandbox Code Playgroud)
问:是否可以以不需要指定名称的方式导入枚举?
我想直接使用该值:
MY_VALUE
Run Code Online (Sandbox Code Playgroud)
在 Java 世界中,它被称为静态导入。但我还没有找到像 TypeScript 这样的东西。
我的 TypeScript 版本是 2.5.3。
使用构造函数注入是最佳实践。但是我无法实现这一点@PersistenceContext。
我想要以下构造函数:
private final EntityManager entityManager;
@Autowired
public MyService(@PersistenceContext EntityManager entityManager) {
this.entityManager = entityManager;
}
Run Code Online (Sandbox Code Playgroud)
但我不能,因为@PersistenceContext仅适用于TYPE,METHOD和FIELD。
问:如何通过构造函数注入来注入容器管理的容器? EntityManager
我有一个看起来像这样的代码:
MyObject getMyObject() {
Instant now = Instant.now();
return myService.doSomething(now);
}
Run Code Online (Sandbox Code Playgroud)
我知道 JUnit 5 不支持 PowerMock,但我想知道至少对于日期等标准 API 是否有一个解决方案。
现在我正在嘲笑不正确的Instant实例Mockito.any(),因为如果我通过了错误,我的测试就不会失败Instant。
我需要分离读取器/写入器 PostgreSQL 实例。我有一个写入副本和多个读取副本。
Quarkus 支持添加多个数据源,但是尚不清楚如何让 Panache/Hibernate 为不同的查询选择正确的数据源。
问题:如何配置 Quarkus 使用不同的数据源进行读/写访问?
我有一个运行端到端测试的公共存储库。这些测试需要存储在 GitHub 中的机密。
相应的工作流程yaml文件有如下pull_request条目:
on:
pull_request:
....
Run Code Online (Sandbox Code Playgroud)
问题:如果我(所有者)自己创建拉取请求,工作流程将正确运行并访问机密。如果有人从分叉创建 PR,GitHub 会要求我批准运行,但是一旦我批准,工作流程将看不到这些秘密的值,并且测试将失败。
如果我更改pull_request为pull_request_target,它将正确访问秘密。然而,这样,在运行工作流程之前它不会征求我的批准(因此秘密很容易泄露)。
pull_request_target:
branches:
- main
Run Code Online (Sandbox Code Playgroud)
问题:当从分叉上运行 PR 时,如何使 GitHub 操作访问机密,同时仍需要批准运行?
continuous-integration github github-actions github-secret cicd
java ×4
hibernate ×2
javascript ×2
junit ×2
spring-boot ×2
sql ×2
angular ×1
autocomplete ×1
build.gradle ×1
cicd ×1
codecov ×1
css ×1
enums ×1
github ×1
go ×1
go-testing ×1
gradle ×1
import ×1
jakarta-ee ×1
jax-rs ×1
jpa ×1
junit5 ×1
maven-bom ×1
mockito ×1
powermock ×1
presto ×1
primeng ×1
quarkus ×1
rest ×1
spring ×1
typescript ×1