簡體   English   中英

導入org.junit.Assert時出錯

[英]Error with import of org.junit.Assert

我的教授給了我一個單元測試的問題。 編譯后,我收到以下錯誤:
cannot find symbol import org.junit.Assert.assertArrayEquals; cannot find symbol import org.junit.Assert.assertEquals; import org.junit.Assert.assertFalse; import org.junit.Assert.assertTrue;

我已經下載了JUnit,我可以編譯一個類似的文件,為什么我有這個問題呢? 代碼是:

import java.util.Comparator;
import org.junit.Assert.assertArrayEquals;
import org.junit.Assert.assertEquals;
import org.junit.Assert.assertFalse;
import org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;

    public class SortingTests {

      class IntegerComparator implements Comparator<Integer> {
        @Override
        public int compare(Integer i1, Integer i2) {
          return i1.compareTo(i2);
        }
      }

      private Integer i1,i2,i3;
      private OrderedArray<Integer> orderedArray;

      @Before
      public void createOrderedArray(){
        i1 = -12;
        i2 = 0;
        i3 = 4;
        orderedArray = new OrderedArray<>(new IntegerComparator());
      }

      @Test
      public void testIsEmpty_zeroEl(){
        assertTrue(orderedArray.isEmpty());
      }

      @Test
      public void testIsEmpty_oneEl() throws Exception{
        orderedArray.add(i1);
        assertFalse(orderedArray.isEmpty());
      }


      @Test
      public void testSize_zeroEl() throws Exception{
        assertEquals(0,orderedArray.size());
      }

    }

假設您在類路徑中具有JUnit依賴關系 ,請對assert方法使用import static

import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

或者只是使用:

import static org.junit.Assert.*;

您應該添加關鍵字static以導入它。 一個例子:

 import static org.junit.Assert.assertFalse;

您正在尋找的是靜態導入

import org.junit.Assert.assertArrayEquals; 從類org.junit.Assert引用方法assertArrayEquals

導入一個靜態方法,使其可以像assertEquals(0,orderedArray.size());一樣調用assertEquals(0,orderedArray.size()); 使用靜態導入行完成。 試試以下內容:

import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

或者你可以:

import static org.junit.Assert.*;

,或者你可以:

import org.junit.Assert;

並參考像這樣的方法

Assert.assertEquals(0,orderedArray.size());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM