AMcoder - javascript, python, java, html, php, sql

Spring @Value դաշտի ներարկում mockito-ում

@Service
public class MyClass {

...

  @Autowired
  public MyClass(@Value("${my.value}") String myValue)  {
      ...
  }

...
}

Իմ թեստային դասը.

public class MyTest {

    @Mock(name = "solrServer")
    private SolrServer solrServer;

    @InjectMocks
    private MyClass myClassMock;

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
    }

    @Test
    ....
}

Ես բացառություն ունեմ հետևյալ կերպ.

org.mockito.exceptions.base.MockitoException. Հնարավոր չէ ստեղծել @InjectMocks դաշտը «myClassMock» տիպի «class mypackage.MyClass»: Դուք չեք տրամադրել օրինակը դաշտի հայտարարման ժամանակ, ուստի ես փորձեցի կառուցել օրինակը: Այնուամենայնիվ, կոնստրուկտորը կամ սկզբնավորման բլոկը բացառություն են արել՝ null

mypackage.MyTest.setUp-ում (MyTest.java:46) ... Պատճառը` java.lang.NullPointerException ...

Ինչպե՞ս ներարկել @Value դաշտը MyTest դասից և ուղղել այն:

03.06.2016

  • Կոդի վերանայումների և այլ քննարկումների ժամանակ ես փորձում էի մարդկանց հետ պահել @InjectMocks ծանոթագրությունից: Խնդրում ենք տեսնել այս հոդվածը շատ մատչելի բացատրության համար: 03.06.2016

Պատասխանները:


1

Դուք կարող եք դա անել @Before ծանոթագրված մեթոդի շրջանակներում՝ ձեռքով պատրաստելով ձեր դասի օրինակը, օրինակ՝

public class MyTest {

    @Mock(name = "solrServer")
    private SolrServer solrServer;

    @InjectMocks
    private MyClass myClassMock;

    @Before
    public void setUp() {
        myClassMock = new MyClass("value you need");
        MockitoAnnotations.initMocks(this);
    }

    @Test
    ....

}
03.06.2016
Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..