小编use*_*006的帖子

Mockito - 内部方法调用

我有一个叫做的类Availability.java,有两种方法.

 public Long getStockLevelStage() {
     //some logic
      getStockLevelLimit();
    }

    public Long getStockLevelLimit() {
      String primaryOnlineArea = classificationFeatureHelper.getFirstFeatureName(productModel, FEATURE_CODE_PRODUCT_ONLINE_AREA_PRIMARY, language);
................
      return new Long();
    }
Run Code Online (Sandbox Code Playgroud)

我正在写一个单元测试课AvailabilityTest.java.

@RunWith(MockitoJUnitRunner.class)
public class AvailabilityTest {
  @InjectMocks
  private Availability availability = new Availability();

  @Test
  public void testGetStockLevelStage() {
    availability.getStockLevelStage();
  }
}
Run Code Online (Sandbox Code Playgroud)

当我调用availability.getStockLevelStage()方法时,它调用getStockLevelLimit()方法.是否可以模拟内部方法调用?

在这种情况下,我不希望getStockLevelLimit()在执行时getStockLevelStage()执行.

请帮忙.

java junit unit-testing mockito spy

5
推荐指数
2
解决办法
7750
查看次数

覆盖多个弹簧活动配置文件的属性值

我有一个带有 application.yml 的 Spring Boot 应用程序。

application.yml的内容:

spring:
  profiles:
    active: default,private
integrations:
  ecom:
    api-url: http://localhost:8080/com
Run Code Online (Sandbox Code Playgroud)

application-private.yml 的内容:

integrations:
  ecom:
    api-url: http://testenv:8080/com
Run Code Online (Sandbox Code Playgroud)

根据我的理解,集成:ecom:api-url 正在从 application-private.yml 加载,即使默认配置文件也具有相同的属性。

如果两个配置文件处于活动状态,是否会按照指定配置文件的顺序加载和使用该属性?

我的订单:

-Dspring.profiles.active="default,private"
Run Code Online (Sandbox Code Playgroud)

提前致谢。

spring spring-profiles spring-boot

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

由于自动连线JavaMailSender-版本2.0.0-快照,SpringBoot应用程序启动失败

我正在使用Spring Boot 2.0.0.BUILD-SNAPSHOT。自动接线JavaMailSender或时出现问题JavaMailSenderImpl。如果我配置@AutowiredJavaMailSender,即时消息低于错误。

***************************
APPLICATION FAILED TO START
***************************

Description:

Field mailSender in com.hm.assetmanagment.service.MailService required a bean of type 'org.springframework.mail.javamail.JavaMailSenderImpl' that could not be found.
    - Bean method 'mailSender' not loaded because @ConditionalOnClass did not find required class 'javax.mail.internet.MimeMessage'

Action:

Consider revisiting the conditions above or defining a bean of type 'org.springframework.mail.javamail.JavaMailSenderImpl' in your configuration.
Run Code Online (Sandbox Code Playgroud)

以下是我的pom.xml,其中包含spring boot starter电子邮件。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.hm.assetmanagement</groupId>
    <artifactId>AssetManagementSystem</artifactId>
    <version>0.0.1-SNAPSHOT</version> …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc spring-boot spring-boot-maven-plugin

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

重构java代码 - arraylist包含if/else

是否有可能以优雅的方式重构下面的if/else部分?请分享您的专业知识和反馈.

if(onlineAreaPrioList.contains("ladies")){
            dominantOnlineArea = "ladies";
        }else if(onlineAreaPrioList.contains("kids")){
            dominantOnlineArea = "kids";
        }else if(onlineAreaPrioList.contains("men")){
            dominantOnlineArea = "men";
        }else if(onlineAreaPrioList.contains("home")){
            dominantOnlineArea = "home";
        }
Run Code Online (Sandbox Code Playgroud)

注意:优先顺序=女士>儿童>男士>家庭

输出:hashmap中的值:{men = 2,ladies = 2,home = 2,kids = 1}

onlineAreaPrioList中的值:[男人,女士,家]

ComputedOnlineArea:女士们

以下是整个代码:

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import dto.ProductDTO;


public class Test {

    static Map<String, Integer> freq = new HashMap<String, Integer>();

    public static void main(String[] args) {
        List<ProductDTO> recentlyBoughtList = recentlyBought();
        List<ProductDTO> recentlyViewedList = recentlyViewed();

        String …
Run Code Online (Sandbox Code Playgroud)

java java-8

3
推荐指数
2
解决办法
146
查看次数

比较字符串与ng-if angularjs

当我尝试将字符串与angularjs的ng-if比较时,我在控制台中收到错误。

以下是我的数据:

的值为{{reports[0]}}

{"name":null,"discount":0,"margin":0,"reportType":"REPORT_TOP_SELLERS","revenue":0,"variantKey":null,"rank":1,"productKey":"10692-1_en_US","purchasedUnits":0,"abandonedUnits":0}
Run Code Online (Sandbox Code Playgroud)

{{reports [0] .reportType}}的值是:

REPORT_TOP_SELLERS
Run Code Online (Sandbox Code Playgroud)

下面是引发错误的代码:

<div ng-if="{{reports[0].reportType}} === 'REPORT_TOP_SELLERS'">

Error:
Error: [$parse:syntax] Syntax Error: Token '{' invalid key at column 2 of the expression [{{reports[0].reportType}} === 'REPORT_TOP_SELLERS'] starting at [{reports[0].reportType}} === 'REPORT_TOP_SELLERS'].
Run Code Online (Sandbox Code Playgroud)

请帮忙。

angularjs

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