小编net*_*tta的帖子

在单元测试运行期间禁用某些方面

我有集成测试(加载上下文)和单元测试一起运行.我的代码使用spring进行编译时编织.

我的问题是我声明的建议也在我的一些单元测试中运行.这会杀死单元测试的概念,这就是我想禁用它们的原因.

有什么我可以放在切入点声明,我可以调用的一些方法,一些弹簧配置,或maven命令,禁用这些建议像所有*UnitTest.java?

谢谢您的帮助.


例:

我有以下单元测试:

@RunWith(MockitoJUnitRunner.class)
public class CompanyServiceImplTest {
    @Test
    public void createCampaignTest() throws Exception {
        when(companyDaoMock.saveCompany(any(Campaign.class))).thenReturn(77L);

        Long campaignId = companyService.createCampaign(campaignMock);

        assertEquals(Long.valueOf(77L), Long.valueOf(campaignId));
    }
}
Run Code Online (Sandbox Code Playgroud)

以及服务方法:

@Override
@Transactional
@EventJournal(type = EventType.CAMPAIGN_CREATE, owner = EventOwner.TERMINAL_USER)
public Long createCampaign(Campaign campaign) {
    return companyDao.saveCompany(campaign);
}
Run Code Online (Sandbox Code Playgroud)

方面:

@Aspect
public class EventJournalAspect {

    @Autowired
    private EventJournalService eventJournalService;

    @Pointcut(value="execution(public * *(..))")
    public void anyPublicMethod() {}

    @Pointcut("within(com.terminal.service..*)")
    private void inService() {}

    @AfterReturning(pointcut = "anyPublicMethod() && inService() && @annotation(eventJournal) && args(entity,..)", returning = "id")
    public void …
Run Code Online (Sandbox Code Playgroud)

java spring unit-testing aspectj

16
推荐指数
2
解决办法
5029
查看次数

postgresql临时表的线程安全性

这是我用于创建临时表的语法:

create temp table tmpTable (id bigint not null, primary key (id)) on commit drop;
Run Code Online (Sandbox Code Playgroud)

我知道这意味着在每个事务结束时,此表将被删除.我的问题是,如果同一会话中的两个或多个线程创建并将值插入临时表,它们每个都会获得自己的实例,还是整个会话中共享的临时实例?如果它是共享的,有没有办法让它在每个线程本地?

谢谢Netta

java postgresql

5
推荐指数
1
解决办法
2879
查看次数

从scala设置到Java Set的隐式转换

我有以下内容:

    class Goo
    trait Bar[D] {
     def toD : D
    }
    class Moo extends Bar[Goo] {
      def toD : Goo = new Goo
    }

    object Foo {
      import scala.collection.JavaConversions._
      import java.util

      implicit def scalaSetToJavaSet[D](bars: Set[Bar[D]]) : util.Set[D] = bars.map(_.toD)
    }  

    trait Zoo {
      import java.util
      import Foo._

      var javaSet : util.Set[Goo] = Set(new Moo) //compile error

      var explicitJavaSet: util.Set[Goo] = scalaSetToJavaSet(Set(new Moo)) //works!!!
    }
Run Code Online (Sandbox Code Playgroud)

当我尝试编译此代码时,我收到一个错误:

"error: type mismatch;
   found   : scala.collection.immutable.Set[Moo]
   required: java.util.Set[Goo]
           var javaSet : util.Set[Goo] = ***Set(new Moo)***" …
Run Code Online (Sandbox Code Playgroud)

scala implicit-conversion

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