Никакая Такая Ошибка Метода при создании теста JUnit

Вот как мне нравится это делать:

    [HttpGet]
    [ProducesResponseType(typeof(IList<Currency>), 200)]
    public async Task<IActionResult> GetAll()
    {
        return Ok(await _typeService.GetCurrenciesAsync().ConfigureAwait(false));
    }

    [HttpGet("{id}", Name = "GetCurrency")]
    [ProducesResponseType(typeof(Currency), 200)]
    public async Task<IActionResult> Get([FromRoute]int id)
    {
        return Ok(await _expenseService.GetCurrencyAsync(id).ConfigureAwait(false));
    }

Мы можем видеть в чванстве что-то вроде этого:

/api/Currency
/api/Currency/{id}

Ваш базовый контроллер может быть примерно таким, чтобы включать базу route:

[Authorize(Policy = Common.Security.Policies.ApiUser)]
[Route("api/[controller]")]
[Benchmark, ApiController]
public abstract class BaseController : ControllerBase
{
    protected BaseController()
    { }
}

Вот конструктор контроллера для полноты:

public class CurrencyController : BaseController
{
    private readonly IExpenseEntryService _expenseService;
    private readonly ITypeService _typeService;

    public CurrencyController(ITypeService typeService, IExpenseEntryService expenseService)
    {
        _expenseService = expenseService;
        _typeService = typeService;
    }
11
задан IaCoder 8 January 2009 в 17:00
поделиться

4 ответа

java.lang.NoSuchMethodError всегда указывает, что версия класса, который был на пути к классу Вашего компилятора, отличается от версии класса, который находится на Вашем пути к классу во время выполнения (имел метод, отсутствуя во время компиляции, компиляция перестанет работать.)

В этом случае у Вас была другая версия org.objectweb.asm.ClassWriter на Вашем пути к классу во время компиляции, чем находится на Вашем пути к классу во время выполнения.

22
ответ дан 3 December 2019 в 03:37
поделиться

Определенно у Вас есть различные версии Вашего класса ClassWriter во времени выполнения, чем время компиляции.

2
ответ дан 3 December 2019 в 03:37
поделиться

Я думаю, что Вы берете неверную версию asm.jar где-нибудь в пути к классу, который Вы используете для своих тестов.

1
ответ дан 3 December 2019 в 03:37
поделиться

У меня была подобная ошибка с помощью Spring 2.5 с, в спящем режиме на NetBeans 6.5. Одним путем я решил вопрос, загружал Spring 3.0 M2 и создавал библиотеку NetBeans, которую я назвал Spring_3 с помощью банок от дистрибутива. Эта библиотека также должна была включать antlr-runtime-3.0.jar.

См.: http://forum.springsource.org/showthread.php?t=65324

- Leo

1
ответ дан 3 December 2019 в 03:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: