>Java >메서드를 확인할 수 없습니다 - Intellij

메서드를 확인할 수 없습니다 - Intellij

WBOY
WBOY앞으로
2024-02-22 14:07:061465검색

php 편집자 Yuzai가 이 기사의 주제인 Java 프로그래밍에 관해 자주 묻는 질문에 대한 답변을 소개합니다. 오늘은 Intellij 개발 환경의 일반적인 문제 중 하나인 메서드를 해결할 수 없는 문제에 대해 논의하겠습니다. Java 개발 중에 메소드를 해결할 수 없는 상황이 발생하면 골치 아픈 일이 될 수 있지만 실제로는 사소한 문제일 뿐입니다. 다음으로, 이 문제의 가능한 원인에 대한 자세한 분석을 제공하고 보다 원활한 프로그래밍에 도움이 되는 솔루션을 제공할 것입니다.

질문 내용

두 번째 방법에서 "setobservationcode is neverused" 오류가 발생하는 이유를 찾으려고 합니다. 두 번째 스니펫은 단위 테스트가 사용되는 위치를 보여줍니다. 단위 테스트를 하면 "'resourcehandler' 오류에서 'setobservationcode' 메서드를 확인할 수 없습니다. 일부 사람들은 캐시를 무효화하고 다시 시작하여 오류를 해결했지만 제겐 효과가 없었다고 말하는 것을 봤습니다.

public class ResourceHandlerTest extends TestCase {

    FhirContext ctx = null;
    IParser parser = null;

    // Other methods...

    public String getId(Resource resource) {
        if (resource.getIdElement() != null) {
            // Use IdType to extract the ID without additional details such as base URL or resource type.
            IdType idType = resource.getIdElement();
            return idType.getIdPart();
        } else {
            // Handle the case where the resource does not have an ID.
            return null; // Or throw an exception, depending on your requirements.
        }
    }

    public Observation setObservationCode(Observation observation, Coding coding) {
        if (observation.getCode() == null) {
            observation.setCode(new CodeableConcept().addCoding(coding));
        } else {
            observation.getCode().addCoding(coding);
        }
        return observation;
    }

    
public Observation setObservationCode(Observation observation, Coding coding) {
            if (observation.getCode() == null) {
                observation.setCode(new CodeableConcept().addCoding(coding));
            } else {
                observation.getCode().addCoding(coding);
            }
            return observation;
        }
    
      public Observation setObservationCode(Observation observation, String system, String code, String display) {
            System.out.println("Debug: Observation Before - " + observation);
    
            System.out.println("Debug: System - " + system);
            System.out.println("Debug: Code - " + code);
            System.out.println("Debug: Display - " + display);
    
            Coding coding = new Coding().setSystem(system).setCode(code).setDisplay(display);
    
            return setObservationCode(observation, coding);
        }

-----------------------------------------------------------------------------------------------

    public void testSetObservationCode() throws Exception {
            if (ctx == null) ctx = FhirContext.forR4();
            if (parser == null) parser = ctx.newJsonParser();
    
            String observationJsonFile = "src/resources/observation.json";
            String observationJson = "";
            try {
                observationJson = new String(Files.readAllBytes(Paths.get(observationJsonFile)));
            }
            catch (Exception e) { System.err.println("Failed to read observation.json file."); }
    
            Observation correctObservation = parser.parseResource(Observation.class, observationJson);
    
            ResourceHandler studentResourceHandler = new ResourceHandler();
    
            String expectedSystem = "http://example.com/system";
            String expectedCode = "12345";
            String expectedDisplay = "Test Code";
    
            Coding coding = new Coding().setSystem(expectedSystem).setCode(expectedCode).setDisplay(expectedDisplay);
            Observation modifiedObservation = studentResourceHandler.setObservationCode(correctObservation, coding);
    
            assertEquals(expectedSystem, modifiedObservation.getCode().getCodingFirstRep().getSystem());
            assertEquals(expectedCode, modifiedObservation.getCode().getCodingFirstRep().getCode());
            assertEquals(expectedDisplay, modifiedObservation.getCode().getCodingFirstRep().getDisplay());
    
        }

해결 방법

테스트에서 첫 번째 메서드를 호출했지만 두 번째 메서드는 호출하지 않았습니다.

테스트의 마지막 줄인 4번째 줄에는 2개의 매개변수가 있는데, 이것이 첫 번째 매개변수입니다. 따라서 Intellij는 두 번째 사용을 감지할 수 없습니다.

으아악

메인 코드 블록의 구조를 살펴보세요. 이상적으로는 다른 정의를 호출하는 두 번째 정의(4개 매개변수 포함)를 호출해야 합니다.

위 내용은 메서드를 확인할 수 없습니다 - Intellij의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제