草庐IT

NoAutomaticTrigger-Method

全部标签

java.lang.Exception : No tests found matching Method using Intellij IDEA

我遇到了IntellijIDEA2016.3的奇怪行为。当我得到java.lang.Exception:NotestsfoundmatchingMethodfoo时,有一个带有方法foo的类和该方法的JUnit测试。在我执行mvntest后它成功,然后在执行mvn命令后立即运行单元测试,它突然运行绿色。似乎IDEA不会自动编译。我该如何解决这个问题?附:升级到v.2016.3后未更改任何设置 最佳答案 如果您使用的是理论测试框架,例如Junit's或Robolectric's,请确保运行包含所需测试的类,而不是测试本身。由于这些框架

java - Method.isBridge 用于什么?

在java.lang.reflect.Method类的导航过程中,我遇到了方法isBridge。它的Javadoc说只有当Java规范声明该方法为true时它才返回true。请帮助我了解它的用途!如果需要,自定义类可以将其方法声明为桥梁吗? 最佳答案 编译器可以在扩展其方法具有参数化参数的参数化类型时创建桥接方法。您可以在本类(class)中找到BridgeMethodResolver一种获取“桥接方法”引用的实际方法的方法。见CreateFrame,Synchronize,TransferControl:作为这种情况的示例,请考虑

java - Method.isBridge 用于什么?

在java.lang.reflect.Method类的导航过程中,我遇到了方法isBridge。它的Javadoc说只有当Java规范声明该方法为true时它才返回true。请帮助我了解它的用途!如果需要,自定义类可以将其方法声明为桥梁吗? 最佳答案 编译器可以在扩展其方法具有参数化参数的参数化类型时创建桥接方法。您可以在本类(class)中找到BridgeMethodResolver一种获取“桥接方法”引用的实际方法的方法。见CreateFrame,Synchronize,TransferControl:作为这种情况的示例,请考虑

Java 泛型 : get class of generic method's return type

背景我曾经写过这个方法:privateSortedSetcreateSortedSet(){returnnewTreeSet();}应该是这样调用的:Setset=createSortedSet();这很好用(尽管我在研究当前问题时看到这里的答案很容易出错)。现状无论如何,现在我正在编写以下代码(在扩展javax.servlet.jsp.tagext.TagSupport的类中):privateTevaluate(Stringexpression){ExpressionEvaluatorevaluator=pageContext.getExpressionEvaluator();ret

Java 泛型 : get class of generic method's return type

背景我曾经写过这个方法:privateSortedSetcreateSortedSet(){returnnewTreeSet();}应该是这样调用的:Setset=createSortedSet();这很好用(尽管我在研究当前问题时看到这里的答案很容易出错)。现状无论如何,现在我正在编写以下代码(在扩展javax.servlet.jsp.tagext.TagSupport的类中):privateTevaluate(Stringexpression){ExpressionEvaluatorevaluator=pageContext.getExpressionEvaluator();ret

java - Checkstyle "Method Not Designed For Extension"错误被错误地发出?

我正在使用Checkstyle并且收到关于此方法的错误:publicfinalStringgetAdmitCodeStatus(){returnadmitCodeStatus;}这是我得到的错误:Method'getAdmitCodeStatus'isnotdesignedforextension-needstobeabstract,final,orempty.该方法如何不合规?Checkstyle会因为这种方法对我大吼大叫,是不是我做错了什么? 最佳答案 它看起来是由DesignForExtension规则引起的。根据thedoc

java - Checkstyle "Method Not Designed For Extension"错误被错误地发出?

我正在使用Checkstyle并且收到关于此方法的错误:publicfinalStringgetAdmitCodeStatus(){returnadmitCodeStatus;}这是我得到的错误:Method'getAdmitCodeStatus'isnotdesignedforextension-needstobeabstract,final,orempty.该方法如何不合规?Checkstyle会因为这种方法对我大吼大叫,是不是我做错了什么? 最佳答案 它看起来是由DesignForExtension规则引起的。根据thedoc

Java 单元测试 : how to measure memory footprint for method call

假设我有一个类进行一些繁重的处理,操作多个集合。我想要做的是确保这样的操作不会导致内存不足,甚至更好的是我想设置它可以使用多少内存的阈值。classMyClass(){publicvoidmyMethod(){for(inti=0;i这样做的正确方法是什么?或者这不可能/不可行? 最佳答案 我能想到几个选项:通过微基准(即jmh)了解您的方法需要多少内存。基于启发式估计构建分配策略。有几种开源解决方案实现类大小估计,即ClassSize.一种更简单的方法可能是利用缓存来释放很少使用的对象(即Guava的缓存)。正如@EnnoShio

Java 单元测试 : how to measure memory footprint for method call

假设我有一个类进行一些繁重的处理,操作多个集合。我想要做的是确保这样的操作不会导致内存不足,甚至更好的是我想设置它可以使用多少内存的阈值。classMyClass(){publicvoidmyMethod(){for(inti=0;i这样做的正确方法是什么?或者这不可能/不可行? 最佳答案 我能想到几个选项:通过微基准(即jmh)了解您的方法需要多少内存。基于启发式估计构建分配策略。有几种开源解决方案实现类大小估计,即ClassSize.一种更简单的方法可能是利用缓存来释放很少使用的对象(即Guava的缓存)。正如@EnnoShio

java - 模拟: how to unmock a method?

我有一个JUnit类,它使用不同的方法来执行不同的测试。我使用Mockito在真实实例上创建一个spy,然后覆盖一些与我执行的实际测试无关的方法。有没有办法,只是为了在我之后进行清理,以防在我的测试之后运行的其他一些测试也使用相同的实例并且可能执行他们没有要求模拟的模拟方法,取消模拟方法?假设我有一个名为'wareHouseSpy'的spy对象说我重写了isSomethingMissing方法:doReturn(false).when(wareHouseSpy).isSomethingMissing()什么是取消覆盖的正确方法,并使spy恢复正常,即下一次调用isSomethingMi