假设我有一个可以进行大量处理的类,并使用多个集合进行操作。我要做的是确保这种操作不会导致内存不足,甚至更好,我想设置一个阈值来确定它可以使用多少内存。
class MyClass()
{
public void myMethod()
{
for(int i=0; i<10000000; i++)
{
// Allocate some memory, may be several collections
}
}
}
class MyClassTest
{
@Test
public void myMethod_makeSureMemoryFootprintIsNotBiggerThanMax()
{
new MyClass().myMethod();
// How do I measure amount of memory it may try to allocate?
}
}
什么是正确的方法?还是这不可能/不可行?
我可以想到几种选择:
您也可以编写自己的基准测试来计算内存。这个想法是为了
System.gc()
, memoryBefore = runtime.totalMemory() - runtime.freeMemory()
System.gc()
, memoryAfter = runtime.totalMemory() - runtime.freeMemory()
这是我在轻量级微基准测试工具中使用的一种技术,该工具能够以字节精度测量内存分配。
我陷入了单元测试场景的一个基本问题,并将感谢帮助。 我有一个类,它调用在DB中将标志设置为true。 我的测试: 我被要求测试并检查是否正在使用相关数据调用。 由于返回类型无效,我如何测试它?
问题内容: 我有一些应调用某些输入的方法。不幸的是,测试这些情况会导致JUnit终止!将方法调用放在新的Thread中似乎无济于事,因为终止JVM不仅终止当前线程。有什么通用的模式可以处理吗?例如,我可以用存根替换吗? [编辑]有问题的类实际上是我要在JUnit中测试的命令行工具。也许JUnit根本不是适合该工作的工具?欢迎提出补充回归测试工具的建议(最好是与JUnit和EclEmma很好地集成在
在我们的ASP。Net核心应用程序,我们有许多API从服务类调用公共方法。 服务类正在实现一个接口。 每个服务方法(取决于复杂性和需求)可以调用任意数量的内部或私有或辅助方法。 虽然这些内部/私有/或辅助方法中的每一个都单独进行单元测试,但我们如何以这样一种方式测试公共服务方法,即我们不必重复已经在测试内部/私有/辅助方法中花费的代码/精力? e、 我们可以很容易地模拟接口方法,说接口方法需要这些
我不熟悉单元测试。参考google之后,我创建了一个测试类来测试我的控制器,如下所示: 我有以下控制器和服务类: 当我调试单元测试时,控制器中的p对象为null。我的状态是200,但不是预期的JSON响应 我错过了什么?
问题内容: 我正在使用Spring-Jersey3,无法弄清楚如何使用Spring Bean对RESTFul API进行单元测试 Controller Service Interface Service Implementation ResourceRegister.java (Jersey resource register) web.xml serviceContext.xml(Applica
因为save是一个void方法。 有人知道如何修复这个单元测试吗?