Вопросы с тегами [testing]

1

голосов
1

ответ
32

Просмотры

Как утверждают, что некоторые строки содержит, по меньшей мере, одно значение из списка ?

Я тестирую некоторые функциональные возможности пользовательского интерфейса с Java и AssertJ. Поэтому, когда я получаю некоторую массивную строку из пользовательского интерфейса, я должен убедиться в том, что строка содержит, по меньшей мере, одно предопределенное значение из списка. Это легко сделать противоположную вещь - проверить, если список содержит по крайней мере один раз какое-то значение типа String, но это не мой случай. Я не могу найти решение в стандартных методах. общественности статической окончательный список OPTIONS = Arrays.asList ( "Foo", "Бар", "Баз"); Строка текста = «Просто некоторые случайный текст с баром»; что мне нужно чего-л, как это: Assertions.assertThat (текст) .as ( «Должен содержать, по меньшей мере, одно значение из OPTIONS») .containsAnyOf (ВАРИАНТЫ)
Vadam
0

голосов
0

ответ
9

Просмотры

Karma, Angular 7, & FontAwesome issue Can't bind to 'icon' since it isn't a known property of 'fa-icon'

Can't bind to 'icon' since it isn't a known property of 'fa-icon'. When trying to run this test in people.component.spec.ts import { async, ComponentFixture, TestBed } from "@angular/core/testing"; import { PeopleComponent } from "./people.component"; describe("PeopleComponent Unit Test", () => { let component: PeopleComponent; let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [PeopleComponent] }) .compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(PeopleComponent); component = fixture.componentInstance; fixture.detectChanges(); }); it("should create", () => { expect(component).toBeTruthy(); }); ; }) The runner shows this error: Failed: Template parse errors: Can't bind to 'icon' since it isn't a known property of 'fa-icon'. If 'fa-icon' is an Angular component and it has 'icon' input, then verify that it is part of this module. If 'fa-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component. This is the HTML causing the issue. I've tried to import FontAwesomeModule and FaIcon on test side and add to TestBed configuration's imports statement. I've tried to ensure the component side has the imports too. Nothing seems to work.
John Peters
1

голосов
3

ответ
1.4k

Просмотры

PyTest: тест, функция был вызван в заявлении, если

У меня есть функция, которая рассматривает три различных случая, и для каждого случая вызывает другую функцию, как в примере ниже четкости my_fun (вход): если вход == 1: fun1 (), если вход == 2: fun2 (), если входное == 3: fun3 () Я хотел бы написать тест для функции my_fun с помощью py.test, но я не знаю, как я могу проверить, если надлежащее функция была вызвана для данного входа?
Ziva
0

голосов
0

ответ
4

Просмотры

Реагировать-Testing-Library - Упаковочный компонент с Redux и маршрутизатором

Я пытаюсь настроить файл тест для визуализации маршрута / страниц на моем приложении. Я пытаюсь обернуть все с Redux и маршрутизатором, и это то, что у меня есть: импорт Реагировать из «реагировать»; импорт {оказывают} от «среагировать тестирования-библиотека»; импорт {} createStore от 'Redux'; импорта {} Провайдер от 'среагировать-Redux'; импорт редуктор от «../../store/reducer»; импорт {Ссылка, маршрут, маршрутизатор, коммутатор} от «реагировать-маршрутизатор-дом» импорта {createMemoryHistory} из «истории» импорта ViewNode из «../Pages/ViewNode»; Const customRender = (щ, {путь = '/', история = createMemoryHistory ({initialEntries: [путь]}), InitialState, магазин = createStore (редуктор, InitialState), ... опции} = {}) => ({ ... оказывать ({щ}, варианты), история,}); тест ( 'может сделать с Redux и маршрутизатором', () => {сопз {getByTestId} = customRender ({маршрут: '/server/prod/some.server.name.com'}); ожидать (getByTestId (» страниц контента.)) toBeVisible ()}) Тогда я получаю следующее сообщение об ошибке: ошибка: неперехваченным [TypeError: не удается прочитать свойство „Params“ неопределенной] причина этого бросает ошибку, потому что не может найти Реагировать маршрутизатор PARAMS , Это провал в конструкторе компоненты при Im инициализации состояния: this.state = {модальный: ложь, activeTab: '1', imageStatus: "загрузка", ENV: props.match.params.env, // неудачи здесь NODENAME: реквизит .match.params.nodeName, сред: props.environments} Похоже, что это ISN» т оберточной маршрутизатор правильно с моей реализации выше. Как бы я правильно обернуть мою страницу компоненту с Redux и маршрутизатором так, что он может получить этот маршрутизатор Params?
Phillip
1

голосов
2

ответ
522

Просмотры

Как проверить щелчки документа в модульных тестах в угловом

У нас есть компонент, который имеет выпадающий его выпадающий рухнул на любой внешней мыши. Это реализуется следующим образом: @HostListener ( 'документ: нажмите', [ '$ событие']) общественное documentClick (событие) {если (! This.dropdownIsOpen && event.clickedFromMe) {this.dropdownIsOpen = ложь; }} Как можно протестировать этот код? При использовании TestBed.createComponent только компонент, кажется, создана, и это не внутри какого-либо документа, так как я могу имитировать щелчок вне этого компонента?
splintor
1

голосов
3

ответ
45

Просмотры

Отношения между модульного тестирования и впритык (интеграции как таковой), следуя BDD

Мой вопрос также связан с, кто что делает в типичном BDD. Мое понимание, владелец продукта приходит с User Story (может или не может в Огурец), QA пишет сценарии для впритык тестирования (в художественных файлах), Dev пишет код (как и где, делает он следовать BDD, а также ?). На данный момент, если Dev пишет автоматизированное модульное тестирование, может ли это быть использовано в QA для впритык или они могут быть абсолютно разные? Мой вопрос заключается в том, как рычаги Dev и QA работы друг друга с точки зрения кодирования во время следующих BDD. Я не уверен, как соединить точки. Давайте рассмотрим пример приложения на основе JAVA и QA уже использует Огурцы с Selenium WebDriver для автоматизированного тестирования.
Anup
1

голосов
1

ответ
45

Просмотры

Как я могу издеваться простой метод с использованием рамки MOq?

Скажем Я простой метод, который проверяет, является ли переданный номер Даже и возвращает логическое значение. Я новичок в насмешливый и попробовать. Как я могу издеваться этот метод с использованием рамки MOq? общественный BOOL результата ISeven (целое х) {BOOL = (х% 2 == 0)? правда, ложь; возвращать результат; }
Tim Smith
-1

голосов
0

ответ
13

Просмотры

модульное тестирование JdbcTemplate Mockito

Я пытаюсь выполнить модульное тестирование и написать тест для jdbctemplate.query. Мне нужен охват коды для ниже методы. Код: `общественный Список UserInfo (конечная Long RunID) {jdbcTemplate.setFetchSize (10); Список USERLIST = jdbcTemplate.query (кон -> con.prepareStatement (GET_USER_INFO), (RS, RowNum) -> {Строка UserName = rs.getString ( "имя пользователя"); Строка shoppingItems = rs.getString ( "shopingItems"); Long shoppingid = rs.getLong ( "shoppingid"); пользователя = новый пользователь (); user.setCmts (Username); user.setNodeid (shoppingItems); user.setNodename (shoppingid); user.setRunId (RunID); возвращение пользователя; }); вернуться USERLIST; } `Я написал тест, как показано ниже, но работает тест«охват, как JUnit»не показывает мне никакого покрытия кода для метода, который находится внутри (RS, RowNum) -> {Test:` @InjectMocks частное OracleRepository oracleRepository; @Mock личное JdbcTemplate JdbcTemplate; @Mock частные ResultSet RS; @Mock частного соединения подключения; @Mock личное PreparedStatement STMT; @Mock личное RowMapper rowMapper; @Test общественного недействительный UserInfoTest () бросает SQLException {String, имя пользователя = "Джо"; Строка shoppingItems = "3"; длинное shoppingId = 1123456778; длинный RunID = 2; Список listUser = новый ArrayList (); . Mockito.when (rs.getString ( "CMTS")) thenReturn (CMTS); Mockito.when (rs.getString ( "узел")) thenReturn (узел). Mockito.when (rs.getLong ( "NodeID")) thenReturn (NodeID). Пользователь пользователя = новый пользователь (); user.setUserName (имя пользователя); user.setShoppingItems (shoppingItems); user.setShoppingId (shoppingId); user.setRunId (RunID); listUser.add (пользователь); Mockito.when (connection.prepareStatement (Mockito.any (String.class))) thenReturn (STMT). Mockito.when (rowMapper.mapRow (Mockito.any (ResultSet.class), Mockito.any (Integer.class))) thenReturn (пользователь). Mockito.when (jdbcTemplate.query (Mockito.anyString (), Mockito.any (RowMapper.class))) thenReturn (listUser). список List = oracleRepository.UserInfo (RunID); } `Как мне решить эту проблему? thenReturn (STMT); Mockito.when (rowMapper.mapRow (Mockito.any (ResultSet.class), Mockito.any (Integer.class))) thenReturn (пользователь). Mockito.when (jdbcTemplate.query (Mockito.anyString (), Mockito.any (RowMapper.class))) thenReturn (listUser). список List = oracleRepository.UserInfo (RunID); } `Как мне решить эту проблему? thenReturn (STMT); Mockito.when (rowMapper.mapRow (Mockito.any (ResultSet.class), Mockito.any (Integer.class))) thenReturn (пользователь). Mockito.when (jdbcTemplate.query (Mockito.anyString (), Mockito.any (RowMapper.class))) thenReturn (listUser). список List = oracleRepository.UserInfo (RunID); } `Как мне решить эту проблему?
joe
1

голосов
1

ответ
275

Просмотры

Как настроить автономный контроллер только один раз перед всеми тестовыми в Spring ботинке?

Я пишу тесты для контроллера. Я насмешливо слой службы и с использованием автономной установки для контроллера отдыха. ProductSupplierControllerUnitTest.java общественного класса ProductSupplierControllerUnitTest {@Mock личное ProductSupplierService productSupplierService; @InjectMocks частный ProductSupplierRestController productSupplierRestController; частный MockMvc mockMvc; @Before общественной пустоты нАлАдкА () {MockitoAnnotations.initMocks (это); mockMvc = MockMvcBuilders.standaloneSetup (productSupplierRestController) .setControllerAdvice (новый ServiceExceptionHandler ()) построить (). } @Test общественный недействительный productNotFound () бросает исключение {Длинное incorrectProductId = 2L; Mockito.when (productSupplierService.getProductSuppliers (incorrectProductId, tenantId)). thenThrow (новый EntityNotFoundException (Product.class, String.valueOf (incorrectProductId))); RequestBuilder requestBuilder = MockMvcRequestBuilders.get (prepareRequestUrl (incorrectProductId)) .requestAttr (TENANT_ID, tenantId) .contentType (MediaType.APPLICATION_JSON_UTF8); mockMvc.perform (requestBuilder) .andExpect (статус (). isNotFound ()) .andExpect (содержание (). CONTENTTYPE (MediaType.APPLICATION_JSON_UTF8)). andExpect (jsonPath ( "$. сообщение", является (string.Format ( "Продукт не был найден для параметра (ов)% S», incorrectProductId)))); . Mockito.verify (productSupplierService, раз (1)) getProductSuppliers (incorrectProductId, tenantId); Mockito.verifyNoMoreInteractions (productSupplierService);
Harshit
0

голосов
0

ответ
11

Просмотры

react-testing-library | Cannot Split Test into smaller chunks inside describe method

Я учусь о модульном тестировании React компонентов с использованием реакции-тестирования-библиотека У меня есть компонент рендеринг правильно, однако, когда я стремлюсь сломать тест на более мелкие куски внутри функции описания (). Испытуемые перерывы и вот почему. Текущие только один или другой тест () проходит, но не как импорт Реагировать из «реагирует» импорт «реагировать тестирование библиотека / очистки-после каждого» импорта {рендер, fireEvent} от «реагировать-тестирование-библиотека» импорт Количества из '../components/Quantity' описывают ( 'количество компонент', () => {сопз {контейнер, getByTestId} = визуализации () // первый тест тест ( 'проверяет, что количество никогда 0', () => { ожидать (getByTestId ( 'количество')). not.toBe ( '0')}) // второй тест тест ( 'проверяет наличие начального подсчета количества продукции', () => {Ожидать (getByTestId ( 'количество')). ToHaveTextContent ( '1') fireEvent.click (getByTestId ( 'приращение')) ожидать (getByTestId ( 'количество')). ToHaveTextContent ( '2')})}) При попытке для запуска обоих тестов это ошибки: Не удается найти элемент по: [дате-TestID = «количество»] [данные TestID = «количество»] это просто атрибут, который я прошел в моем желаемой JSX тега. Проходит тест при запуске только первый или второй тест, но не оба одновременно. Что я здесь отсутствует? ] [Данные TestID = «количество»] это просто атрибут, который я прошел в моем желаемой JSX тега. Проходит тест при запуске только первый или второй тест, но не оба одновременно. Что я здесь отсутствует? ] [Данные TestID = «количество»] это просто атрибут, который я прошел в моем желаемой JSX тега. Проходит тест при запуске только первый или второй тест, но не оба одновременно. Что я здесь отсутствует?
Null isTrue
1

голосов
0

ответ
385

Просмотры

Running ng test with different test entry point

Есть в любом случае для запуска нг теста с другим тестом точкой входа на один указанном в .angular-cli.json? https://github.com/angular/angular-cli/issues/8579#issuecomment-346313383 обеспечивает решение для увеличения восстановления раз при использовании ленивых загруженных кусков. Но я боюсь, что разбивая испытания на куски может вызвать некоторые тесты, которые будут пропущены. В идеале я бы два файла: test.ts, test.tmp.ts с test.ts, содержащим: Const контекста = require.context ( './', правда, /\.spec\.ts$/); в то время как test.tmp.ts имеет: Const контекст = require.context ( './ приложение / some_module /', правда, /\.spec\.ts$/); Таким образом, при разработке, я могу запустить что-то вроде испытания нг --entry-точечный = test.tmp.ts. В идеале test.tmp.ts будет git.ignored. На данный момент, его можно назвать тест нг --config = different_karma.conf.js, чтобы указать другой karma.conf.js, и в karma.conf.js вы можете изменить ссылку на test.ts в пределах этого. Однако, это не успешно запустить тесты, если я не изменить apps.0.test точки входа в угловом-cli.json к test.tmp.ts. Ошибки я получаю: Uncaught SyntaxError: Неожиданное строка в SRC / test.tmp.ts: 3 Одно из решений заключается в создании другого приложения в пределах .angular-cli.json, который является копией первого с другой точкой входа, и вызов нг тест -app, но тогда вы должны поддерживать две различные конфиги приложения. Я могу изменить test.ts непосредственно каждый раз, но возможно, что может получить совершено. Edit: https://stackoverflow.com/a/43669082/5464931 создает впечатление, что изменение углового-cli.json не необходимое, но я не могу получить, чтобы работать. если я не изменить apps.0.test точки входа в угловом-cli.json к test.tmp.ts. Ошибки я получаю: Uncaught SyntaxError: Неожиданное строка в SRC / test.tmp.ts: 3 Одно из решений заключается в создании другого приложения в пределах .angular-cli.json, который является копией первого с другой точкой входа, и вызов нг тест -app, но тогда вы должны поддерживать две различные конфиги приложения. Я могу изменить test.ts непосредственно каждый раз, но возможно, что может получить совершено. Edit: https://stackoverflow.com/a/43669082/5464931 создает впечатление, что изменение углового-cli.json не необходимое, но я не могу получить, чтобы работать. если я не изменить apps.0.test точки входа в угловом-cli.json к test.tmp.ts. Ошибки я получаю: Uncaught SyntaxError: Неожиданное строка в SRC / test.tmp.ts: 3 Одно из решений заключается в создании другого приложения в пределах .angular-cli.json, который является копией первого с другой точкой входа, и вызов нг тест -app, но тогда вы должны поддерживать две различные конфиги приложения. Я могу изменить test.ts непосредственно каждый раз, но возможно, что может получить совершено. Edit: https://stackoverflow.com/a/43669082/5464931 создает впечатление, что изменение углового-cli.json не необходимое, но я не могу получить, чтобы работать. JSON, который является копией первого с другой точкой входа, и вызов нг тест -app, но тогда вы должны поддерживать две различные конфиги приложения. Я могу изменить test.ts непосредственно каждый раз, но возможно, что может получить совершено. Edit: https://stackoverflow.com/a/43669082/5464931 создает впечатление, что изменение углового-cli.json не необходимое, но я не могу получить, чтобы работать. JSON, который является копией первого с другой точкой входа, и вызов нг тест -app, но тогда вы должны поддерживать две различные конфиги приложения. Я могу изменить test.ts непосредственно каждый раз, но возможно, что может получить совершено. Edit: https://stackoverflow.com/a/43669082/5464931 создает впечатление, что изменение углового-cli.json не необходимое, но я не могу получить, чтобы работать.
Dulitha Ranatunga
1

голосов
1

ответ
95

Просмотры

Угловые и Rxjs: написание модульного тестирования для фильтрации на Subject

У меня есть метод в угловой службе, как показано ниже, но я не знаю, как написать модульное тестирование для этой функции. Кто-нибудь может мне с этим помочь ? Спасибо сообщение $: Тема = новый субъект () GetMessage (канал: строка): Наблюдаемое {вернуть this.message $ .asObservable () .filter (м => m.channel === канал) .map (т => т .данные) }
Anh Pham
1

голосов
0

ответ
509

Просмотры

Cobertura не работает с Java 9

Я использую Java 8, теперь пытается перейти на Java 9. Большинство вещей работает за исключением генерации блока тестовых данных отчета, я использую Cobertura. С Java 9 Я получаю следующее сообщение об ошибке, кажется, Cobertura еще ссылки tools.jar, который удаляется из Java 9. Не удалось выполнить задачу на *****: Не удалось разрешить зависимости для *****: абв: баночка: 0,0 0,1: не удалось найти артефакт com.sun: инструменты: баночку: 0 в указанном пути C: \ Program Files \ Java \ JDK-9.0.1 /../ Библиотека / tools.jar -> [Помощь 1] Может кто-нибудь сказать мне, как генерировать блок тестовых примеров сообщить с Java 9? Могу ли я продолжать использовать Cobertura или переключиться на какой-либо другой инструмент для модульного тестирования случаев?
Atul Sureka
1

голосов
1

ответ
49

Просмотры

Как скомпилировать тест-только код с WebPack

У меня есть несколько частных методов, которые я хочу писать тесты для. Однако, поскольку эти частные методы, они не экспортируются. В этой статье показано, как можно использовать хрюкать, чтобы обернуть код в комментариях и этот код будет исключен из компиляции, если вы компиляции для производства. Есть ли нечто подобное для Webpack? В основном я хочу что-то, так что я могу сделать что-то вроде / * тест-только * / экспорт {_myPrivateMethod}; / * Конец тест-только * / И этот код будет исключен из окончательной компиляции, но будет включен при выполнении тестов.
Kousha
1

голосов
1

ответ
151

Просмотры

Nightwatch js Using page objects as variable in all steps

I have some page object document with code: var gmailItemClicks = { composeClick: function () { return this.section.leftToolbarSection.click('@compose'); } }; module.exports = { commands: [gmailItemClicks], sections: { leftToolbarSection: { selector: '.nH.oy8Mbf.nn.aeN', elements: { compose: { selector: '.T-I.J-J5-Ji.T-I-KE.L3' }, } }, }; and the test file with many steps, like this: module.exports = { '1st step': function (client) { gmail.composeClick(); }, '2d step': function (client) { gmail.composeClick(); } } i can use 'gmail' variable if it is in every step like this: module.exports = { '1st step': function (client) { var gmail = client.page.gmail(); gmail.composeClick(); }, '2d step': function (client) { var gmail = client.page.gmail(); gmail.composeClick(); } } but i want to separate this var from the test code in the steps. I tried to use const gmail = require('./../pages/gmail'); in the test before module.exports bloсk, and i tried to use globals.js file with the same syntax, but i get the error " ✖ TypeError: gmail.composeClick is not a function". Now i have just one big function where are all steps used variable declared once inside the func, but the log of test looks ugly, i cant to see when the one step started and where it was stopped. What i missed?
belatry
1

голосов
1

ответ
34

Просмотры

Есть ли способ, чтобы получить доступ к отдельным значениям карты пара в карате, если мы не знаем значение ключа?

Предположим, что у меня есть следующая структура Содержание: { «ключом1»: {JSON_OBJECT1} «Key2»: {JSON_OBJECT @}} Мне нужен способ, чтобы оценить схему для всех объектов JSON в структуре контента и я не знаю, значение ключ во время выполнения здесь, есть ли способ в карате, чтобы достигнуть того же самого?
Shriram
1

голосов
0

ответ
117

Просмотры

Как настроить карму НЕ перезапустить браузер, когда он закрыт?

Я использую следующую команду для запуска своих модульных тестов в своем роде режим «отладка» (где --debug является пользовательским ключом я добавил для своих собственных целей). карма начать ./.config/karma.conf.js --browsers = Chrome --debug Команда работает отлично - он запускает тесты и сохраняет это экземпляр браузера Chrome открытым на неопределенное время. Однако, когда я пытаюсь убить браузер, закрывая его, тест бегун перезапускает его (до 2-х раз). 05 01 2018 13: 00: 56,024: ERROR [гранатомет]: Chrome разбился. 05 01 2018 13: 00: 56,024: ERROR [гранатомет]: Хром стандартный вывод: 05 01 2018 13: 00: 56,024: ERROR [гранатомет]: Хром STDERR: 05 01 2018 13: 00: 56,256: INFO [гранатомет]: Попытка Chrome начать снова (1/2). Есть ли способ, чтобы инструктировать Карма НЕ перезапустить Chrome, когда он закрыт / разбился?
Igor Soloydenko
1

голосов
1

ответ
46

Просмотры

Симуляция горячих клавиш в Intern (3) функциональные тесты

Я пытаюсь проверить некоторые горячие клавиши на моем сайте. Нажатие Ctrl + 5 в поле должен сделать что-то. Я делаю: command.get (...) ... .findByCssSelector ( 'входа') .click () .pressKeys ([keys.CONTROL, '5']) .pressKeys (keys.NULL) .END ( ) Кажется, дает мне странные результаты в IE. В моем KeyDown обработчике я протоколирование событий и получать это: {клавиши Alt: ложь, пузыри: правда, кнопка: неопределенные, кнопки не определены, отменяемые: истинный, changedTouches не определен, символ ":", charCode: 0, clientX: не определено, clientY не определено, ctrlKey: ложь, currentTarget: HTMLInputElement {...}, данные не определено, delegateTarget: HTMLInputElement {...}, деталь: 0, EventPhase: 2, handleObj: Объект {...}, isSimulated ложь, jQuery311042854121322469546: правда, ключ: "Контроль", KEYCODE: 17 ...} {клавишу Alt: ложь, пузыри: правда, Кнопка не определена, кнопки не определены, нерасторгаемые: правда, changedTouches: не определен, символ: "", charCode: 0, clientX: не определена, clientY не определены, ctrlKey: ложь, currentTarget: HTMLInputElement {...}, данные не определены, delegateTarget: HTMLInputElement {...}, деталь: 0, EventPhase: 2, handleObj: Object {...}, isSimulated: ложь, jQuery311042854121322469546: правда, ключ: "5", KEYCODE: 53 ...} Примечание ctrlKey является ложь, так что это не выполняет свою горячую клавишу. Это то, что я получаю при вводе текста Ctrl +-вручную: {клавиши Alt: ложь, пузыри: правда, кнопка: неопределенные, кнопки: неопределенный, отменяемый: правда, changedTouches: неопределенный, символ: "", charCode: 0, clientX: не определено, clientY не определено, ctrlKey: правда, currentTarget: HTMLInputElement {...}, данные не определено, delegateTarget: HTMLInputElement {...}, деталь: 0, EventPhase: 2,
sheodox
1

голосов
0

ответ
42

Просмотры

MSTest Покрытие кода с DataRows не работает

У меня есть простой способ конвертировать из одного перечисления в другой. общественности статической ServiceStatus FromTheirState (TheirState fromState) {MyStatus NEWSTATUS; переключатель (fromState) {случай TheirState.Online: NEWSTATUS = MyStatus.Online; перерыв; Случай TheirState.Intermittent: NEWSTATUS = MyStatus.Intermittent; перерыв; случай TheirState.Offline: по умолчанию: NEWSTATUS = MyStatus.Offline; перерыв; } Вернуть NEWSTATUS; } Для модульного тестирования этого, я делаю следующее [TestMethod] [DataRow (TheirState.Online, MyStatus.Online)] [DataRow (TheirState.Offline, MyStatus.Offline)] [DataRow (TheirState.Intermittent, MyStatus.Intermittent)] общественного недействительными TestFromTheirState (TheirState состояние, MyStatus expectedStatus) {MyStatus actualStatus = StatusConverter.FromTheirState (состояние); Assert.AreEqual (expectedStatus, actualStatus); } Хотя результаты испытаний показывают, что все 3 тесты пройдены успешно (см ниже), охват кода говорит «Интернет» дело только один покрыты. Два других случая конверсионные не укрыты, выделенное. Есть идеи? Является ли это ошибка? Иерархия не покрывается (блоки) Покрытие (% блоков) не покрывается (% блоков) Покрытие (блоки) FromTheirState (TheirState) 2 66.67% 33.33% 4 Результаты испытаний: Наименование теста: Тест TestFromTheirState FULLNAME: Manager.TestServiceStatus.TestFromTheirState Тест Результат: Прошел Тест Продолжительность: 0: 00: 00,0072567 Result1 Имя: TestFromTheirState (перемежающаяся,
ri chas
1

голосов
0

ответ
94

Просмотры

DatePickerIOS не любит шутя высмеивал Date ()

Я настраиваю некоторые тесты JEST в моем реакции нативный проекта, так что я буду созданием снимков для моих компонентов. Один из них включает в себя DatePicker (в частности, только время), поэтому мне нужно издеваться последовательный Date () для моментальных снимков, чтобы соответствовать. Документы для DatePickerIOS указать в нем объект Date в дате реквизите, как я предоставил в моем расписании компоненты (новая дата ()). Я сделал несколько попыток решить этот: Const constantDate = новая дата ( 'Вт 9 января 2018 14:04:12 GMT-0330 (NST)') Date = класс расширяет Дату {конструктора () {супер (); вернуться constantDate}} & Const DATE_TO_USE = новый Дата ( 'Вт 9 января 2018 14:04:12 GMT-0330 (NST)'); Const _DATE = Дата; global.Date = jest.fn (() => DATE_TO_USE); global.Date.UTC = _Date.UTC; global.Date.parse = _Date.parse; global.Date.now = _Date.now; & в DatePickerIOS (созданный DatePicker) в DatePicker (созданный TimePicker) в TimePicker (созданный по графике) в View (созданный View) в View (созданный по графике) в View (созданный View) в View (созданный раздел) в Раздел (созданный по графике) в View (созданный View) в View (созданный по графике) в View (созданный View) в View (созданный AnimatedComponent) Без издеваться, время не совпадает в моментальном снимке (очевидно) , но я не получаю предупреждение для реквизита. Мне нужно создать экземпляр каждого Date) метод (объект или что-то делать? В чем причина этого предупреждения и это можно исправить? Мне нужно создать экземпляр каждого Date) метод (объект или что-то делать? В чем причина этого предупреждения и это можно исправить? Мне нужно создать экземпляр каждого Date) метод (объект или что-то делать? В чем причина этого предупреждения и это можно исправить?
MattyK14
1

голосов
0

ответ
154

Просмотры

Невозможно подключиться к странице. Browserstack

Я использую транспортир с Browserstack.exe для э2э (UI) тестирования. Я должен проверить proccess авторизации. Он идет таким образом: перейти на домен / # вход редирект на auth0.com получить правомочно (принимающее разрешение auth0) ввести учетные данные перенаправлять на мой угловой клиент с готовой аутентификацией. Я читал, что для тестирования отдельной страницы входа в системе, мы должны использовать browser.ignoreSynchronization = истину; Иногда это работает, некоторые - нет. Я не понимаю, почему и что от этого зависит. У меня есть эта ошибка во время выполнения транспортира: Ожидаемая «HTTP: // локальный: 8001 / приложение / # / Логин» содержит «domen.auth0.com». и этот экран: мой код: описать ( «[domain.reports]», функция () {beforeAll (функция () {// это делает транспортир не ждать угловых обещаний // для тестирования отдельной страницы входа в браузер.. ignoreSynchronization = TRUE; }); beforeEach (функция () {browser.wait (browser.get ( '# / Войти'), 5000); ожидать (browser.getCurrentUrl ()) toContain ( 'domain.auth0.com.');}); он ( «автоматически перенаправлять / образцы, когда местоположение хэш / фрагмент пустой», функция () {вар EC = protractor.ExpectedConditions; вар эш = элемент (by.css ( «auth0 замок подать.»)); браузер .wait (EC.visibilityOf (эл), 10000); protractor.loginHelpers.loginToPage ('[email protected]», 'Qazxsw123456'); protractor.waitHelpers.waitForUrlToBeChanged ( "/ образцы"); //browser.wait ( browser.get ( '# / образцы'), 5000); ожидать (browser.getCurrentUrl ()) toMatch ( "/ образцы");. browser.get ( '# / апи'); ожидать (browser.getCurrentUrl ()) not.toContain ( "/ апи"). }); }); Он работает на другом scenarious ... Спасибо посоветуйте за любые мысли!
pavel
1

голосов
0

ответ
158

Просмотры

Тест проходит в тестовом проводнике, терпит неудачу в GUI NUnit

У меня есть специальный тест, написанный в NUnit, который проходит в Visual Studio Test Explorer, но не проходит, когда он побежал в графическом интерфейсе NUnit. Тестовый модуль использует класс перехватчика, который свопы два метода, так что можно использовать второй метод как подделку для первого, который используется в блоке под испытанием. Это делается с C # небезопасного (неуправляемый) код: государственный статический сила Inject (MethodInfo replacedMethod, MethodInfo injectionMethod) {RuntimeHelpers.PrepareMethod (replacedMethod.MethodHandle); RuntimeHelpers.PrepareMethod (injectionMethod.MethodHandle); небезопасный {если (IntPtr.Size == 4) {INT * инъки = (INT *) replacedMethod.MethodHandle.Value.ToPointer () + 2; INT * дегтя = (целое *) injectionMethod.MethodHandle.Value.ToPointer () + 2; если (System.Diagnostics.Debugger. IsAttached) {// версия x86 Debug байт * injInst = (байт *) * инъекц; байты * tarInst = (байты *) * смола; INT * injSrc = (INT *) (injInst + 1); INT * tarSrc = (INT *) (tarInst + 1); Заменено = (((INT) tarInst + 5) + * tarSrc) - ((INT) injInst + 5); * TarSrc = (((INT) injInst + 5) + * injSrc) - ((INT) tarInst + 5); * InjSrc = Заменено; } Еще {// Версия x86 Release Заменено = * деготь; * Деготь = * инъки; * Инъки = Заменено; }}}} Я вызываю метод Inject от моего модульного тестирования: государственной статической силы SecondMethod (двойной [] е, из двойной var1, var2 из двойной, из двойной var3) {var1 = новый двойной (); var2 = новый двойной (); var3 = новый двойной (); var1 = 0.0; var2 = 0,0; var3 = 0,0; } [Тест] общественный недействительный Utilites_Tanks_ApproximateApogee_ReturnsTrue () {двойной вала = 10; двойной [] ECR = {1,2, 3,4, 5,6, 4,5, 6,7, 8,9}; . MethodInfo х = TypeOf (FirstMethodClass) .GetMethods () Одно (м. => M.Name == "FirstMethod" && m.GetParameters () Длина == 4); MethodInfo г = TypeOf (TestClass) .GetMethod ( "SecondMethod"); Interceptor.Inject (х, г); BOOL stageValue = UnitUnderTestMethodClass.Method (ECR, вал, из двойной [] apogeeInfo2); Assert.That (stageValue, Is.True); } Этот тест работает так, как планировалось; он прошел в Visual Studio Test исследователя и он показывает в графическом интерфейсе NUnit. Вешают, что он не проходит, когда побежал в графическом интерфейсе NUnit. Я запустить тест в NUnit графического интерфейса версии 2.6. # И 3. # С тем же результатом. Существует еще один тест, который я написал, что делает близко к тому же, и она проходит. Этот тест является перекачка методов без каких-либо аргументов, чтобы передать так часть GetMethod делается в перехватчик, в отличие от этого теста. Мне было интересно, если графический интерфейс NUnit не очень хорошо играть с небезопасной (неуправляемой) кодой. Я ссылка на правильную сборку в графическом интерфейсе NUnit, а поэтому я не считаю, что это вопрос. Thanx
Mootchmonster
1

голосов
0

ответ
20

Просмотры

написать функциональный тест регрессии для новой звезды

У меня есть открытая ошибка в Геррите здесь код рецензент просит меня написать функциональный тест регрессии для изменения, кто-то может помочь мне сделать это? Заранее спасибо.
Ameed
1

голосов
0

ответ
112

Просмотры

Карма не работает ни одного случая модульного тестирования

Я пытаюсь создать карму для небольшого демонстрационного проекта. Проблема заключается в том, что карма не выполняет какие-либо тесты. Мой проект имеет только два .js файла: приложение / JS / app.js и тест / спецификация / app.spec.js Моего конфигурационный файл карма выглядит следующим образом: module.exports = функция (конфигурация) {config.set ({BasePath: '', рамки: [ 'жасмин'], плагины: [ 'карма-жасмин', 'карма-phantomjs-пусковая'], файлы: [ 'приложение / JS / app.js', «тест / спецификации / app.spec .js'], исключить: [], препроцессор: {}, репортерам: [ 'Dots'], порт: 9876, цвет: истина, LOGLEVEL: config.LOG_INFO, autoWatch: правда, браузеры: [ 'PhantomJS'], singleRun: истинный}); }; Временное содержимое моего app.spec.js файла является: описать ( «приложение JS», функция () {это ( 'тест'); }); Я использую Gulp в моем проекте, и я написал следующий глоток задачу для тестирования: gulp.task ( 'теста', функция () {gulp.src ( 'приложение / JS / ** / * JS.) .Pipe ( карма ({CONFIGFILE: 'karma.conf.js', действие: 'часы'}));}); Это то, что я получаю в терминале на ходовых испытания глотка: Запуск сервера Кармы ... WARN `start` метод является устаревшим, так как 0,13. Он будет удален в 0.14. Пожалуйста, используйте сервер = новый сервер (конфигурации, [сделано]) server.start () вместо этого. 11 01 2018 22: 26: 29,672: WARN [карма]: Нет захвачена браузера, откройте HTTP: // локальный: 9876/11 01 2018 22: 26: 29,686: INFO [карма] Карма: v2.0.0 сервер начал по адресу: //0.0.0.0:9876/ 11 01 2018 22: 26: 29,687: INFO [гранатомет]: Запуск PhantomJS браузера с неограниченным параллелизмом 11 01 2018 22: 26: 29.693:
aryan87
1

голосов
1

ответ
73

Просмотры

Возвращение макет метод аргумент с gmock

Как я могу вернуть ложный метод аргумент ON_CALL Return () аргумент действия? Пробный метод: MOCK_METHOD1 (Foo, Int (сопзЬ станд :: строка &)) Тест: TEST_F (Test, т) {// Я использую параметризованные тесты, это только для простоты станд :: результаты на карте = {{ "Apple" , 1}}; ON_CALL (объект, Foo (_)) .WillByDefault (Return (results.at (argument_from_foo_method))); }
Sajmplus
1

голосов
1

ответ
1.1k

Просмотры

How to test a computed prop setter of Vue component by Jest

I want to test if component's setter throws a custom error when trying to assign an invalid value. I think problem is that it doesn't even call a setter it is behaving like it just creates/assigns to normal property in the object. But it returns default sortData. Thanks for the help! Edit: here is described Vue component prop with getters and setters, which is exactly what I'm doing Code in the component: // Vue Component... sort: { /** * Getter. * */ get() { // Storing data from data(). return this.sortData }, /** * Setter. * */ set(value) { if (value === 'none' || value === 'by-date' || value === 'by-ratings') { this.sortData = value this.$emit('sortChange', value) } else { // I want to test this error throwing. throw new EnumError('(Component::SortPanel): Sort property is of type Enum. ' + 'It excepts either none, by-date or by-ratings values.') } } }, // Vue Component... Test case: beforeEach(function() { // Component for testing is inited by shallow function from vue-test-utils package. sortPanel = shallow(SortPanel) }) // Other tests... it('should have property sort', function() { expect(sortPanel.vm.sort).toBe('none') // Should be either none, by-date or by-ratings. expect(() => { sortPanel.vm.sort = 'anything' }).toThrow(EnumError) }) // Other tests...
Mikeee
1

голосов
1

ответ
308

Просмотры

Detox - Нажмите кнопку, когда она становится доступной

У меня есть проблема выполняющей кран () на кнопке при тестировании с Detox. Войти Наш тест выглядит следующим образом: Const emailInput = элемент (by.id ( 'emailInput')); ждут emailInput.replaceText ('[email protected] '); Const passwordInput = элемент (by.id ( 'passwordInput')); ждут passwordInput.replaceText ( 'пароль'); ждут элемент (by.id ( 'logInButton')) нажмите (). Кнопка видна все время, но становится доступным ( «tappable») только после ввода текста в полях формы. Таким образом, приведенные выше код кранов кнопки, прежде чем он включен, что приводит к отсутствию реальных действий. То, что я хотел бы сделать, это ждать, пока кнопка не будет включена, а затем выполнить кран. Что Рекомендованный способ обработки этого типа сценария? Я не мог найти хорошие примеры в документации.
Magdalena
1

голосов
1

ответ
46

Просмотры

Как обрабатывать вложенные синхронные обещания

]}]] Я успешно удалось запустить тест [0] со следующим фрагментом кода описания ( 'Беседы', функция () {для (пусть тест arrayOfTests) {описать (test.name, () => { для (пусть х = 0; х <test.flow.length; х ++) {пусть узел = test.flow [х], он ( "Запрос:" + node.request, (сделано) => {chai.request (» HTTP: // локальный: 5001' ) .then (сделано ()) // WORK});}});}}); Однако я начинаю столкнуться с проблемами при попытке тянуть весь тестовый файл и запустить каждый тест один за другим. Я подозреваю, что, вероятно, связано с размещением проделанных () Я устал обновлять его, но я не совсем уверен, как это сделать. Я прочитал есть it.each однако я не уверен, если это поможет в моей ситуации. Это моя попытка тестирования всего файла, который возвращает ошибку Пусто набор тестов. Чистый срез Вопрос: Как я могу обновить код, приведенный ниже, чтобы работать с самой верхней JSON. описывают ( 'Full тестов', () => {запрос (// Получает Тесты}). Затем ((Alltests) => {для (пусть испытание Alltests) {описывает ( 'Single тестового массива', () => { для (пусть испытание испытаний) {описывают ( "тест:" + test.name, () => {для (пусть х = 0; х <test.flow.length, X ++) {пусть узел = test.flow [х ], он ( "Запрос:" + node.request, (сделано) => {chai.request ( 'HTTP: // локальный: 5001'). затем (сделано ()) // РАБОТА}); }}); }}); }}); });
Jack
1

голосов
1

ответ
430

Просмотры

Как предотвратить от Android обезьяны отключить WIFI?

Иногда, Wi-Fi выключен с помощью следующей команды для запуска теста обезьяны на Android. Есть ли способ предотвратить Android обезьяну, чтобы отключить WIFI? ADB -s Foo оболочки обезьяны -p com.foo.bar --throttle 300 --kill-процесс-после-ошибки --pct-syskeys 0 --pct-трекбола 0 --pct касание 90 --pct-движения 10 -v 5000
sdet_liang
1

голосов
0

ответ
248

Просмотры

How to test background audio in iOS UI Tests

Я хочу, чтобы проверить различные аспекты фоновой музыки и речь в IOS тестировании пользовательского интерфейса; фоновая музыка играет? сделал изменение музыки на новой сцене? делает музыку приглушить на перерывы от телефонного звонка, FaceTime и т.д.? это речь, произнесенная при необходимости? Не похоже, чтобы найти какую-либо документацию апи или обучающие программы, которые показывают, как сделать эти виды испытаний. Пытался следующий код в моем UI тестового классе просто проверить, если музыка играет. Код пытается либо обнаружить audioSession состояние (audioSession.isOtherAudioPlaying) или события, связанные с воспроизведением (AVAudioSessionInterruption). Ни один из подходов является обнаружение музыки. . Переопределение FUNC нАлАдкА () {super.setUp () continueAfterFailure = ложно XCUIApplication () запуск () приложение = XCUIApplication (); NotificationCenter.default.addObserver (самость, селектор: #selector (self.handleInterruption (_ :)) Имя: NSNotification.Name.AVAudioSessionInterruption, объект: ноль)} @objc функ handleInterruption (_ уведомление: Уведомление) {Print ( "Полученное аудио прерывания", уведомление); } Переопределение FUNC Teardown () {super.tearDown ()} функ testIsBackgroundMusicPlaying () {пусть audioSession: AVAudioSession = AVAudioSession.sharedInstance (); если (audioSession.isOtherAudioPlaying) {Print ( "Другой звук играет"); } } Какие-либо предложения? isOtherAudioPlaying) {Print ( "Другой звук играет"); } } Какие-либо предложения? isOtherAudioPlaying) {Print ( "Другой звук играет"); } } Какие-либо предложения?
MP Droid
1

голосов
2

ответ
36

Просмотры

Mockito проверить проходит только с AVD бега

I want to test a MVP-Pattern. So i have a Presenter class, which shall invoke the View methods when certain buttons are clicked. Now I want to verify, that the Presenter really invokes the Method, so I wrote these tests: Test Class: import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.runners.MockitoJUnitRunner; import static org.mockito.Mockito.verify; @RunWith(MockitoJUnitRunner.class) public class MainPresenterTest { @Mock private MainContract.View view; private MainPresenter presenter; @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); presenter = new MainPresenter(view); } @Test public void handleScanButtonClicked() { presenter.handleScanButtonClicked(); verify(view).showScanScreen(); } @Test public void handleBackButtonClicked() { presenter.handleBackButtonClicked(); verify(view).showMainScreen(); } } Presenter Class: public class MainPresenter implements MainContract.Presenter { private final MainContract.View view; public MainPresenter(MainContract.View view) { this.view = view; } @Override public void handleScanButtonClicked() { view.showScanScreen(); } @Override public void handleBackButtonClicked() { view.showMainScreen(); } } MainContract Interface public interface MainContract { /** handles UI-interaction **/ interface Presenter { void handleScanButtonClicked(); void handleBackButtonClicked(); } /** handles showing/hiding UI-elements and screens **/ interface View { void showScanScreen(); void showMainScreen(); void showWebViewScreen(); } } My Testing Dependencies in build.gradle: testCompile 'junit:junit:4.12' testCompile 'org.mockito:mockito-all:1.10.19' Test Error Message: Wanted but not invoked: view.showMainScreen(); -> at com.whatsthat.androidapp.MainPresenterTest.handleBackButtonClicked(MainPresenterTest.java:36) Actually, there were zero interactions with this mock. Wanted but not invoked: view.showMainScreen(); -> at com.whatsthat.androidapp.MainPresenterTest.handleBackButtonClicked(MainPresenterTest.java:36) Actually, there were zero interactions with this mock. at com.whatsthat.androidapp.MainPresenterTest.handleBackButtonClicked(MainPresenterTest.java:36) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:131) Wanted but not invoked: view.showScanScreen(); -> at com.whatsthat.androidapp.MainPresenterTest.handleScanButtonClicked(MainPresenterTest.java:30) Actually, there were zero interactions with this mock. Wanted but not invoked: view.showScanScreen(); -> at com.whatsthat.androidapp.MainPresenterTest.handleScanButtonClicked(MainPresenterTest.java:30) Actually, there were zero interactions with this mock. at com.whatsthat.androidapp.MainPresenterTest.handleScanButtonClicked(MainPresenterTest.java:30) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:131) Process finished with exit code -1 My Project Structure When I now run the tests without an AVD running, they will fail. I want to run those tests on my local machine only, and there should be no interactions with Android specificly, right? But to let the tests pass, I need to start an AVD, and build + deploy the APK. Why is this, and how can I run those kind of tests properly on my local machine? Thanks in advance
Evoxx
1

голосов
1

ответ
1k

Просмотры

Дженкинс Cobertura (с gcov) - что статистика покрытия означает?

В настоящее время я пишу модульные тесты для проекта Qt. Я хотел использовать статистические данные, представленные в Дженкинс через плагин Cobertura (под gcov используется, чтобы получить статистику). : ~ $ Gcov -v gcov 5.4.0 20160609: ~ $ GCC -v GCC версии 5.4.0 Однако после того, как я посмотрел на столе (смотрите ниже) я был очень удивлен, увидев плохое освещение, особенно в условных. Для первого (см Покрытие Разбивка по имени файла) Я думал, что на самом деле сделано, так как код имеет только три Ms (каждый с одним условием) и мои тесты охватывает все (проверил это также через отладку, просто чтобы убедиться). Так что я действительно путаю, что эти цифры означают на самом деле и как интерпретировать их для того, чтобы сделать мои модульные тесты лучше. Я даже начал думать, что некоторые из плохих результатов может быть связано с использованием Qt, так как это не совсем чистый C ++ и все "
rbaleksandar
1

голосов
2

ответ
444

Просмотры

Изменение значения Ночной дозор из TextContent или innerHTML

У меня есть следующий код, и мне нужно, чтобы иметь возможность изменять значения TextContent для этих элементов: Джейми Hutber Stackoverflow Я знаю, как изменить значения для полей ввода, но в настоящее время не знают, как сделать текст, может быть, с обычаем команда? Для входов .setValue ( 'someSelector', 'anewString')
Jamie Hutber
1

голосов
0

ответ
206

Просмотры

Как установить Microsoft Unit Testing Framework для C ++?

Согласно документации, представленной по тестам записи блока Microsoft для C / C ++ в Visual Studio Visual Studio включает в себя систему тестирования 4 модуля для C ++ по умолчанию без каких-либо дополнительных установок требуется. Однако, когда я пытаюсь добавить модульное тестирование рамки только тест Google показывается. На втором скриншоте я показываю, что я установил эти рамки. Как получить Microsoft Unit Testing Framework для C ++?
Learning C
1

голосов
1

ответ
174

Просмотры

В тесте Джанго есть пустое QuerySet, присвоенные переменные, но не пусто при печати в консоли во время отладки

Я отладки Django (1.11.8) тест и наблюдая странное поведение, при остановке в отладчик и переключился на IPython консоли ввода: Model.objects.all () возвращает непустое QuerySet. Однако, когда один и то же выражение присваиваются переменным, например: obj_qs = Model.objects.all (), а затем obj_qs пусто QuerySet. Я хотел бы ожидать того же результата с обоих утверждений. Я пропускаю что-то важное в настройках тестов? Я использую как setUpTestData () и нАлАдкУ () методы для инициализации объектов для теста.
izkeros
1

голосов
1

ответ
90

Просмотры

не может видеть, как издеваются или писать тесты без маркировки слишком много виртуальных методов

Мы начинаем добавить модульное тестирование в нашем решение, и я пишу модульные тесты с помощью Moq. Я написал свои первые 10 тестов без поругания и был хорошо, но теперь, когда я достиг тесты, которые требуют насмешливых, каждый метод, который я пытаюсь проверить, кажется, требует частичной насмешки (ну, метод я тестирование, должна иметь фактическую реализацию и любые другие внутренний метод вызывается должны быть подделана). Проблема заключается в том, чтобы писать свои тесты, которые я должен сделать слишком много изменений в исходный код, чтобы сделать его проверяемым. Добавление интерфейсов для каждого класса одна вещи, и удаление зависимостей от способа и иметь их в качестве параметров может быть приемлемым, тоже (хотя я предполагаю, что это будет происходить слишком часто), но мне кажется, так же, что мне нужно отметить каждый метод зависимостей I нужно фальсифицировать как виртуальный. Это слишком много изменений в исходный код только, чтобы сделать его проверяемым. Так; мой вопрос, это, как я должен делать это, или есть способ написания модульных тестов без этого много изменений, и виртуализации методы также? Вот пример 1 модульного тестирования я пишу: класс ContrastControlViewModel общественности: ViewModelBase, IContrastControlViewModel {общественных недействительных UpdateCompositePropertyValues ​​(String ИмяСвойства) {если (! SelectedVideoProcessingSubstream = NULL) {переключатель (ИмениСвойства) {случай "ContrastCurve": если (_enableContrastControlUpdate) { UpdateContrastCurve (); // только обновляет локальный дисплей линейного графика контраста контролирует _enableContrastControlUpdate = ложь; } перерыв; дефолт: перерыв; }}} Общественного IVideoProcessingSubstreamViewModel SelectedVideoProcessingSubstream {получить {...} множество {...}}} [TestClass] общественного класса ContrastControlViewModelTests {[TestMethod] общедоступный недействительными UpdateCompositePropertyValues ​​() {// Сценарии: 8 испытаний, могут быть разделены Еогеасп (String input_propertyName в новой строке [] { "ContrastCurve", "другой"}) Еогеасп (вар input_SelectedVideoProcessingSubstream в новом IVideoProcessingSubstreamViewModel [] {нуль, (IVideoProcessingSubstreamViewModel) (новый Mock ()). Object}) Еогеасп (BOOL input_enableContrastControlUpdate в новом BOOL [] {правда, ложь}) {// Упорядочить: BOOL UpdateContrastCurve_called = ложь; вар Vm = новый Тестовая модель (10, 10, 200, 200, 240, 240) {CallBase = истина}; vm.SetupProperty (м => m.SelectedVideoProcessingSubstream); // броски NotSupportedException vm.SetupProperty (м => m._enableContrastControlUpdate); . Vm.Setup (м => m.UpdateContrastCurve ()) Обратный вызов (() => UpdateContrastCurve_called = истина); // Закон: vm.Object._enableContrastControlUpdate = input_enableContrastControlUpdate; vm.Object.SelectedVideoProcessingSubstream = input_SelectedVideoProcessingSubstream; vm.Object.UpdateCompositePropertyValues ​​(input_propertyName); // Утверждай: Утверждают. IsTrue (UpdateContrastCurve_called == (input_propertyName == "ContrastCurve" && input_SelectedVideoProcessingSubstream = NULL && input_enableContrastControlUpdate == верно!)); } } } Так; сейчас я получаю NotSupportedException, потому что «SelectedVideoProcessingSubstream» должен быть виртуальным, чтобы быть фальшивым. Если я начинаю делать, что все заканчивает тем, что отмеченные виртуальным. Позже, я в конечном итоге даже методы маркировки других классов виртуальных. должен быть виртуальным, чтобы быть фальшивым. Если я начинаю делать, что все заканчивает тем, что отмеченные виртуальным. Позже, я в конечном итоге даже методы маркировки других классов виртуальных. должен быть виртуальным, чтобы быть фальшивым. Если я начинаю делать, что все заканчивает тем, что отмеченные виртуальным. Позже, я в конечном итоге даже методы маркировки других классов виртуальных.
Shervan
1

голосов
1

ответ
491

Просмотры

e2e protractor test can't detect angular component in multi layer angular router

I have an angular application, i need to implement e2e test in this project. angular pack: 4.6.6 protractor: 5.3.0 Also i have a multi-layer router in my project, that wrap the router-outlet int o an other component in each layer. When i need to navigate to one of the low-layer routes for example /notification/groups in the test environment, the program can't get the response from the page and return error: Failed: Timed out waiting for asynchronous Angular tasks to finish after 11 seconds. This may be because the current page is not an Angular application. Please see the FAQ for more details: https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular Also when i navigate to the login page in test environment, it will be pass without any problem just because it's on the highest layer in the router. So the problem is about that angular can't detect the components that wrapped into other components with router-outlet. how i can solve this problem this is my router configuration: [ { path: "", component: ThemeComponent, canActivate: [AuthGuard], children: [ { path: "", component: DefaultComponent, children: [ { path: "modbus-devices", component: DeviceListComponent, data: { deviceType: 'modbus' } }, { path: "snmp-devices", component: DeviceListComponent, data: { deviceType: 'snmp' } }, { path: "add-modbus-device", component: ModbusAddDeviceComponent }, { path: "edit-modbus-device/:id", component: ModbusEditDeviceComponent }, { path: "add-snmp-device", component: SnmpAddDeviceComponent }, { path: "edit-snmp-device/:id", component: SnmpEditDeviceComponent }, { path: "notification/groups", component: NotificationGroupListComponent }, { path: "notification/setting", component: NotificationPrioritySettingComponent }, { path: "notification/groups/add", component: NotificationGroupAddComponent, data: { edit: false } }, { path: "notification/groups/edit/:id", component: NotificationGroupAddComponent, data: { edit: true } } ] } ], }, { path: 'login', component: AuthComponent }, { path: 'logout', component: LogoutComponent } ]
Mohammad Raha
1

голосов
0

ответ
63

Просмотры

Как сделать сборки VS терпят неудачу, когда один или более NUnit тесты терпят неудачу?

Я только начал играть с этим парнем. Есть ли способ, чтобы включить его в моем плане сборки? Или Visual Build студии? Так что, когда некоторый тест не проект не будет строить? Я видел некоторые люди спрашивали его, но ответ не то, что ясно для меня. Шаг за шагом будет очень полезно. Спасибо
Glyde
1

голосов
3

ответ
242

Просмотры

Как установить или проверить это. $ Родителя в модульном тестировании Vuejs?

В моих компонентов набора данных () {категории:. Это $ parent.categories => который я поставил в main.js} Файл кода main.js импорт категорий из»../config/categories'; новый Vue ({маршрутизатор, данные: {категории: категории}}); Я создал 1 тест функцию блока он ( 'проверка компонента кнопки', () => {сопз обертка = неглубоко (FormSearch), ожидать (wrapper.contains ( 'кнопка')) Тоба (истина),.}); Я бег теста затем показать сообщение об ошибке: Ошибка в данных (): «Ошибка типа: Не удается прочитать свойство„категории“неопределенных» Как это исправить. Помоги мне.
hiep
1

голосов
3

ответ
274

Просмотры

Описания для ViewAssertion в Эспрессо

У меня есть этот код:. OnView (withId (R.id.my_view)) проверить (матчи (isDisplayed ())) Как я могу добавить свое собственное сообщение к нему в случае падения теста с ошибкой? Например, как в JUnit: assertEquals ( «Мое послание», как ожидается, фактическое)
Hamster

Просмотр дополнительных вопросов

Связанные вопросы