我正在写的测试案例:
public class AClassUnderTest {
// This test class has a method call
public Long methodUnderTest() {
// Uses the FinalUtilityClass which contains static final method
FinalUtilityClass.myStaticFinalMethod(<3-parameters-here>);
// I want to mock above call so that test case for my "methodUnderTest" passes
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个最后一堂课.
public final class FinalUtilityClass {
/**
* Method has 3 parameters
*/
public static final MyBean myStaticFinalMethod(<3-parameters-here>) {
}
}
Run Code Online (Sandbox Code Playgroud)
我已经在我的测试类中添加了以下代码:
@RunWith(PowerMockRunner.class)
@PrepareForTest({ FinalUtilityClass.class })
Run Code Online (Sandbox Code Playgroud)
我想写一个测试用例来嘲笑它.我想模拟调用,myStaticFinalMethod()以便我可以获得预期的MyBeaninstatnce,我可以在进一步的代码中使用它来通过我的测试用例.
的<3-parameters-here>是日历,字符串,字符串.
我试过做: …
我有一个场景,我正在处理 URL 路由的 IIS 网站配置。我已添加网站并在服务器上导入所需的证书。
我的场景是(我有多个网站 URL 和两个 SSL 证书 - 如下):
qtest1.abc.com
qtest2.abc.com
qtest3.abc.com
以上 3 个 URL 需要在一个 SSL 证书(即QA 证书)上配置。
另一个网址是:
perftest.abc.com
对于此 URL,有一个单独的证书作为PERF(性能)证书。
这就是我在 MS IIS 10 上配置 IIS 设置的任务的方式。
现在我面临的问题是:


需要 IIS 专家的帮助,他们可以支持我完成此活动。
最近我和我的队友讨论了Guava Optional在方法中使用可选参数的问题.
我们说方法是
List<Book> getBooks(String catalogId, Optional<String> categoryId) {
Validate.notNull(catalogId);
Validate.notNull(categoryId); // Point of conflict. Is this required?
Run Code Online (Sandbox Code Playgroud)
它接受一个catalogId和一个可选项 categoryId,它返回该目录中列出的书籍,如果类别也被传递,则只返回该类别中的书籍.
冲突点是,验证Optional<String> categoryId空检查.我认为不应该对它进行空检查,因为它是一个可选参数.该函数的调用者可以传递null或Optional.<String>absent()与getBooks功能应做处理这两种情况if(categoryId==null && categoryId.isPresent())在执行.
我的意见是,Optional对于可选参数,只是使方法的合同更加清晰.通过查看方法签名,可以告诉该参数是可选的,并且不需要读取javadoc.但是Optional.absent()当他不想使用那个可选参数时,他不应该被迫通过.
我的队友有不同的看法.他想对它进行空检查,因此强制调用者总是通过Optional.<String>absent().他的观点是我们为什么要传递null可选.而且getBooks("catalog123", Optional.absent())看起来更可读getBooks("catalog123", null).
此方法位于我们的一个库包中,由我们拥有的多个包使用.
您Optional对此方案的使用有何建议?
谢谢
我已经阅读了所有的线程,看起来好像可以解决我的问题,我也在这里阅读了所有的答案,但我仍然在我的智慧结束.我不确定为什么会抛出异常,尽管我觉得这可能与之有关threading.如果确实如此,请告诉我在哪里包括,new Runnable()以及是否,invokeLater()或者invokeAndWait(),因为我已经尝试过无济于事.
请告诉我,我给你的代码导致异常+堆栈跟踪(下面).
编辑:我在调用之前syso的AnnoTable部分中包含了一些s tableChanged并且它们没有出现在控制台中,因此我认为问题必须在应用程序到达那一点之前发生,即从它调用时AAView或者当数据和表模型被实例化时......
编辑II:问题是覆盖的tableChanged方法.这显然会触发异常.我已经删除了这个tableChanged()电话(也没有什么区别).现在我遇到了另一个问题:了解底层数据(AnnoData)的更改如何自动更新表.虽然这可能是针对另一个查询(在扩展的Google搜索之后),但请随时在此主题中发布有用的评论,因为我将继续阅读它...感谢所有有用的评论和提示!
编辑III:*我已经解决了这个问题.我需要实例化另一个对象AnnoData,将其传递给一个新的实例AnnoTableModel,将此实例设置为我的表然后fireTableDataChanged().
编辑IV:好的,所以fireTableDataChanged()(编辑III中使用的)毕竟是不必要的.我仍然想要使用它而不是一直创建新对象.我想我应该问一个新问题......谢谢!
这个方法AAView应该创建一个扩展a的对象JTable,把它放到一个JScrollPane等等(后者确实有效).
private JPanel createAnnoTablePanel() {
annoTablePanel = new JPanel();
annoTable = new AnnoTable(aameth);
setAnnoTable(annoTable);
JScrollPane scrollPane = new JScrollPane(getAnnoTable());
annoTablePanel.add(scrollPane);
return annoTablePanel;
}
Run Code Online (Sandbox Code Playgroud)
这是类AnnoTable(aameth是一个包含访问数据模型的业务逻辑的实例对象,工作正常).
public class AnnoTable extends JTable …Run Code Online (Sandbox Code Playgroud) 我在使用Bruno Lowagie的白皮书中的代码示例2.2尝试签署PDF时出现以下错误:PDF文档的数字签名
Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/cert/X509CertificateHolder
at com.itextpdf.text.pdf.security.MakeSignature.signDetached(MakeSignature.java:143)
at com.howtodoinjava.demo.poi.PDFSign.sign(PDFSign.java:77)
at com.howtodoinjava.demo.poi.PDFSign.main(PDFSign.java:51)
Run Code Online (Sandbox Code Playgroud)
引起:java.lang.ClassNotFoundException:org.bouncycastle.cert.X509CertificateHolder ......
第77行包含以下代码行:MakeSignature.signDetached(appearance,digest,signature,chain,null,null,null,0,subfilter);
第51行包含这一行:
app.sign(SRC, String.format(DEST, 1), chain, pk, DigestAlgorithms.SHA256,
provider.getName(), CryptoStandard.CMS, "Test 1", "Harare");
Run Code Online (Sandbox Code Playgroud)
码
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfSignatureAppearance;
import com.itextpdf.text.pdf.PdfStamper;
import com.itextpdf.text.pdf.security.DigestAlgorithms;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.Security;
import java.security.cert.Certificate;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import com.itextpdf.text.pdf.security.BouncyCastleDigest;
import com.itextpdf.text.pdf.security.ExternalDigest;
import com.itextpdf.text.pdf.security.ExternalSignature;
import com.itextpdf.text.pdf.security.MakeSignature.CryptoStandard;
import com.itextpdf.text.pdf.security.PrivateKeySignature;
import com.itextpdf.text.pdf.security.MakeSignature;
/**
*
* @author hdear
*/
public class …Run Code Online (Sandbox Code Playgroud) 我知道有关检查异常的规则,但我无法解决这个问题.为什么第二种方法不能编译,但第一种方法呢?错误是最后一个throws语句中的"Unhandled exception type Exception".我能理解为什么我得到这个错误,但我不明白为什么第一种方法没问题,它应该有同样的问题?!
eclipse和intellij都显示相同的错误.
import java.util.concurrent.Callable;
public class ThrowableWeirdness {
public void doWithMetrics(String name, Runnable runnable) {
try {
runnable.run();
} catch (Throwable e) {
System.out.printf(name + ".failed");
throw e;
}
}
public <RET> RET doWithMetrics(String name, Callable<RET> runnable) {
try {
return runnable.call();
} catch (Throwable e) {
System.out.printf(name + ".failed");
throw e; // Compilation error on this line: unhandled exception
}
}
}
Run Code Online (Sandbox Code Playgroud)
你能解释一下这两种方法的区别吗?
是否可以在java中为静态方法注入局部变量,例如
@Inject
public void someMethod()
{
@MyInjectQualifier MyObjectClass myobject;
// use myobject here
}
Run Code Online (Sandbox Code Playgroud) 我的代码在我的机器上运行正常:
ArrayList<Posting> postings = invertedLists.get(key);
//---- Apply some changes on postings -----
invertedLists.replace(key, postings);
Run Code Online (Sandbox Code Playgroud)
当我的朋友克隆代码时,它给了她这个错误:
The method replace(String, ArrayList<Posting>) is undefined for the type HashMap<String,ArrayList<Posting>>
Run Code Online (Sandbox Code Playgroud)
注意:invertLists是一个 HashMap<String,ArrayList<Posting>>
我们检查了我的项目; 我使用的是JavaSE-1.6,她使用的是JavaSE-1.7.
什么可能导致这个问题?
我想知道为什么这段代码给了我这个问题,请记住它已经在同一个项目的早期表单中工作但它拒绝在这里工作.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
if (jCheckBox1.isSelected()== true)
jCheckBox1.equals(56);
if (jCheckBox2.isSelected()== true)
jCheckBox2.equals(50);
if (jCheckBox3.isSelected()== true)
jCheckBox3.equals(56);
if (jCheckBox4.isSelected()== true)
jCheckBox4.equals(56);
if (jCheckBox5.isSelected()== true)
jCheckBox5.equals(56);
if (jCheckBox6.isSelected()== true)
jCheckBox6.equals(56);
new Form6().setVisible(true);
else
if (jCheckBox1.isSelected()== false)
jCheckBox1.equals(0);
if (jCheckBox2.isSelected()== false)
jCheckBox2.equals(0);
if (jCheckBox3.isSelected()== false)
jCheckBox3.equals(0);
if (jCheckBox4.isSelected()== false)
jCheckBox4.equals(0);
if (jCheckBox5.isSelected()== false)
jCheckBox5.equals(0);
if (jCheckBox6.isSelected()== false)
jCheckBox6.equals(0);
JOptionPane.showMessageDialog(this, "Please Choose An Option and Try Again");
Run Code Online (Sandbox Code Playgroud)
如果我有办法jCheckBox用不同的方法计算价值,那么我非常渴望学习.我的教授说,他几乎了解了所有关于java netbeans和东西的东西,但到目前为止,他并没有多大的帮助.