小编Kik*_*kou的帖子

如何模拟接口Java PowerMockito

我试图模拟一个界面.

public interface FlowCopyParamsBusinessManager {
List<FlowCopyParams> findByAppli(String application, String sourcePattern)
        throws FlowCopyParamsBusinessException;
Run Code Online (Sandbox Code Playgroud)

}

在我的代码中,当我调用此方法findByAppli时,我想返回一个FlowCopyParams列表.

List<FlowCopyParams> lstFlowCopyParams = flowCopyParamsBusinessManager.findByAppli(
                    "TOTO","TATA);
Run Code Online (Sandbox Code Playgroud)

在这里我尝试了类测试:

@BeforeClass
public static void mockBeanIn() throws Exception {
List<FlowCopyParams> flowCopyParamsList = new ArrayList<>();

PowerMockito.spy(FlowCopyParamsBusinessManager.class);
PowerMockito.when(FlowCopyParamsBusinessManager.class, "findByAppli",  Mockito.anyString(), Mockito.anyString()).thenReturn(flowCopyParamsList);
}  
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

java.lang.IllegalArgumentException: object is not an instance of declaring class
Run Code Online (Sandbox Code Playgroud)

我不知道为什么因为方法findByAppli必须有两个字符串参数,我把Mockito.anyString()和我仍然有IllegalArgumentException.

任何线索?

Thxs.

java unit-testing mockito powermock

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

Apache Camel onException

我想从路线中捕捉所有异常.

我添加了这个OnExeption:

onException(Exception.class).process(new MyFunctionFailureHandler()).stop();
Run Code Online (Sandbox Code Playgroud)

然后,我创建了类MyFunctionFailureHandler.

public class MyFunctionFailureHandler  implements Processor {

@Override
public void process(Exchange exchange) throws Exception {
    Throwable caused;

    caused = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Throwable.class);

    exchange.getContext().createProducerTemplate().send("mock:myerror", exchange);
   }

}
Run Code Online (Sandbox Code Playgroud)

不幸的是,它不起作用,我不知道为什么.

如果有异常,程序必须停止.

我怎么知道为什么这段代码不起作用!!

谢谢.

java apache esb onexception

6
推荐指数
2
解决办法
2万
查看次数

为什么Java允许使用Interface构建obj

我有这个例子,我不明白为什么java允许使用没有实现它的接口来构建obj.

public interface Interface {
  public void whoIam();
}

public class SuperClass {
}


public class SubClass extends SuperClass implements Interface {

public void whoIam() {
    System.out.println("I M a SubClass");
}

public static void main(String[] args) {

    SuperClass a = new SubClass();


    Interface b = new SubClass();

    Interface c = (Interface) new SuperClass(); 
    c.whoIam();

}
Run Code Online (Sandbox Code Playgroud)

下面的这一行不应该编译,因为SuperClass没有实现接口:

 Interface c = (Interface) new SuperClass(); 
Run Code Online (Sandbox Code Playgroud)

它将生成"java.lang.ClassCastException:"

所以,我认为有一个原因,编译器允许这一行.

我想知道什么时候我们可以在没有实现它的情况下使用接口转换obj.

Thxs

java inheritance interface

5
推荐指数
0
解决办法
54
查看次数

错误单击总订户

我使用CMD prestashop 1.7.2.4,当我点击"总用户"时,我有这个错误:

[PrestaShop] Fatal error in module file: /home/lecoindedg/www/app/bootstrap.php.cache:3224
Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Call to a member function isUsingNewTranslationSystem() on boolean in /home/lecoindedg/www/controllers/admin/AdminModulesController.php:1403 Stack trace: #0 /home/lecoindedg/www/classes/controller/AdminController.php(2849): AdminModulesControllerCore->initModal() #1 /home/lecoindedg/www/classes/controller/Controller.php(186): AdminControllerCore->init() #2 /home/lecoindedg/www/classes/Dispatcher.php(379): ControllerCore->run() #3 /home/lecoindedg/www/admin792ivsbt0/index.php(95): DispatcherCore->dispatch() #4 {main} Next LogicException: Request stack is empty in /home/lecoindedg/www/app/bootstrap.php.cache:3224 Stack trace: #0 [internal function]: Symfony\Component\HttpKernel\HttpKernel->terminateWithException(Object(Symfony\Component\Debug\Exception\FatalThrowableError)) #1 /home/lecoindedg/www/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php(606): call_user_func(Array, Object(Symfony\Component\Debug\Exception\FatalThrowableE 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

任何线索thxs?

php prestashop-1.7

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

事务TransactionImple ActionStatus.ABORTED已回滚

我实现了DTO业务从TomEE到JBoss的迁移。

我有这个实体:

@NamedQueries({
@NamedQuery(name = "common.plagebusiness.plage.getAllPlages", query = "SELECT p FROM Plage p ORDER BY p.plageRgMax, p.plageCReseau") })
@Entity
@Table(name = "PLAGE")
public class Plage {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "idPlage")
    private Integer idPlage;

    @Column(name = "rgMin")
    private String plageRgMin;
Run Code Online (Sandbox Code Playgroud)

使用此接口:

@Local
public interface PlagePersistenceManager {

public void importPlages(List<DetailFH55> listeEnregDetail) throws PlageBusinessException, ParseException;

}
Run Code Online (Sandbox Code Playgroud)

并执行:

@Stateless(name = "common.plagebusiness.PlagePersistenceManager")
public class PlagePersistenceManagerImpl implements PlagePersistenceManager {

    private static final Logger LOGGER = Logger.getLogger(PlagePersistenceManager.class);

    @PersistenceContext(unitName = "PlageBusiness")
    private EntityManager em;

    @Override …
Run Code Online (Sandbox Code Playgroud)

java jboss hibernate ejb-3.0

3
推荐指数
1
解决办法
6871
查看次数

配置 Manuel 容器 IntelliJ Arquillian Wildfly

我正在使用 intelliJ 运行 junit arquillian 测试。

问题是我的测试适用于 maven 命令,但不适用于 arquillian

mvn package -P=arq-wildlfy-managed
Run Code Online (Sandbox Code Playgroud)

这是我的 pom :

 <dependencyManagement>
    <dependencies>

        <!-- Arquillian BOM (Bill Of Materials). -->
        <dependency>
            <groupId>org.jboss.arquillian</groupId>
            <artifactId>arquillian-bom</artifactId>
            <version>${version.org.jboss.arquillian}</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>

        <!-- JUnit regression testing framework. -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${version.junit}</version>
        </dependency>

    </dependencies>
</dependencyManagement>

<profiles>

    <!-- Arquillian WildFly managed profile -->
    <profile>
        <id>arq-wildfly-managed</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <dependencies>
            <dependency>
                <groupId>org.wildfly</groupId>
                <artifactId>wildfly-arquillian-container-managed</artifactId>
                <version>${version.org.wildfly}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
        <build>
            <testResources>
                <testResource>
                    <directory>src/test/resources</directory>
                </testResource>
            </testResources>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>unpack</id>
                            <phase>process-test-classes</phase>
                            <goals> …
Run Code Online (Sandbox Code Playgroud)

java junit intellij-idea maven jboss-arquillian

2
推荐指数
1
解决办法
4623
查看次数