![](/img/trans.png)
[英]How to return value from method that has an array in its parameter in Java?
[英]How to inject method its return value?
我什至不確定這是否可行,但是由於這個問題,我想出了這個主意: 使用Java反射更改私有靜態最終字段
所以這是場景:
public static String test() {
return "test test test";
}
我要執行的操作是讓test()方法返回“工作”而不是“測試測試”。 有人知道如何做到這一點嗎?
編輯:
我下載了powermock並嘗試了以下操作:
package test;
import org.powermock.api.easymock.PowerMock;
public class InjectorTest {
public static void main(final String[] args) { System.out.println("Before the injection:"); System.out.println(test()); PowerMock.mockStatic(InjectorTest.class); PowerMock.doReturn("worked").when(InjectorTest.class, "test"); System.out.println("After the injection:"); System.out.println(test()); } public static String test() { return "did not work :("; }
}
但是eclipse會出現此錯誤:對於PowerMock類型,未定義方法doReturn(String)
我下載了錯誤的代碼還是一個錯誤的示例代碼?
因為我不希望有更多的投票表決,為什么我要這樣做?
我想以不使用user.home但使用相對URI的方式注入Minecraft。
這樣,我可以為學校的USB記憶棒預裝便攜式Minecraft:D
我認為PowerMock可以做到這一點。 (引擎蓋下的Java反射)
使用PowerMock,您的代碼將如下所示:
public static void main(String[] args) {
PowerMock.mockStatic(Foo.class);
PowerMock.doReturn("worked").when(Foo.class, "test");
System.out.println(Foo.test());
}
上面代碼中的@RC積分
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.