小编Pra*_*mar的帖子

如何使用 JUnit 测试没有 @SpringBootApplication 的 Java Spring Boot 应用程序?

我创建了一个 Spring Boot Java 库,其中包含一组执行某些功能的实用程序。然后可以在需要其实用程序的多个应用程序中使用该库。该库被设计为 Spring Boot 应用程序,以允许将这些实用程序注入到应用程序上下文中。

现在我希望对其中一个实用程序执行 JUnit 测试,以确保它正常工作。但是,由于该应用程序基本上是实用程序的集合,而不是独立的应用程序,因此它没有主类或用 注释的主方法@SpringBootApplication。现在,当我运行 JUnit 测试时,会出现错误。

java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...)
Run Code Online (Sandbox Code Playgroud)

是否可以测试这个 Java 库,或者我们应该只在将使用这个库的应用程序中编写测试用例?

java junit spring spring-boot junit5

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

如何在不损坏文本的情况下消除点/噪音?

在此输入图像描述

我正在使用OpenCV和Python处理图像.我需要从图像中删除点/噪声.
我试过扩张使点变小,但是文字被损坏了.我也试过循环扩张两次并侵蚀一次.但这并没有给出令人满意的结果.
还有其他方法可以达到这个目的吗?
谢谢 :)

编辑:
我是图像处理的新手.我目前的代码如下

image = cv2.imread(file)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
kernel = np.ones((2, 2), np.uint8)
gray = cv2.GaussianBlur(gray, (5, 5), 0)
gray = cv2.GaussianBlur(gray, (5, 5), 0)
gray = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)
gray = cv2.erode(gray, kernel, iterations=1)
gray = cv2.dilate(gray, kernel, iterations=1)
cv2.imwrite(file.split('.'[0]+"_process.TIF", gray))
Run Code Online (Sandbox Code Playgroud)

编辑2:
我尝试了中位数模糊.它解决了90%的问题.我一直在使用gaussianBlurring.
谢谢

python opencv image image-processing

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

补充率和突发容量有什么区别?

在 RequestRateLimiter 的 Redis 实现中,我们必须指定两个属性redis-rate-limiter.replenishRateredis-rate-limiter.burstCapacity作为 RequestRateLimiter 过滤器的参数。

根据文档

redis-rate-limiter.replenishRate是您希望用户每秒允许执行多少请求,而没有任何丢弃的请求。这是令牌桶填充的速率。

redis-rate-limiter.burstCapacity是允许用户在一个单一的第二做请求的最大数目。这是令牌桶可以容纳的令牌数量。将此值设置为零将阻止所有请求。

从我看来,replenishRate是发出请求的速率,以及可以发出burstCapacity最大请求数(均在一秒内)。但是,在实际场景中,我似乎无法理解两者之间的区别。

spring redis spring-boot spring-cloud spring-cloud-gateway

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