Простой способ создать установщик для.Net Projects

Поскольку verifyNoMoreInteractions принимают массив объектов, мы должны найти способ получить все созданные макеты.

Вы можете создать этот класс

public class MocksCollector {
    private final List createdMocks;

    public MocksCollector() {
        createdMocks = new LinkedList();
        final MockingProgress progress = new ThreadSafeMockingProgress();
        progress.setListener(new CollectCreatedMocks(createdMocks));
    }

    public Object[] getMocks() {
        return createdMocks.toArray();
    }
}

и затем использовать его в своем тесте:

    public class ATest {
    private final MocksCollector mocksCollector = new MocksCollector();

    @Test
    public void test() throws Exception {
        A a1 = mock(A.class);
        A a2 = mock(A.class);
        A a3 = mock(A.class);
        assertEquals("wrong amount of mocks", 3, mocksCollector.getMocks().length);
        verifyNoMoreInteractions(mocksCollector.getMocks());
        a3.doSomething();
        verifyNoMoreInteractions(mocksCollector.getMocks()); // fail
    }
}

или с аннотациями:

@RunWith(MockitoJUnitRunner.class)
public class A2Test {
    private final MocksCollector mocksCollector = new MocksCollector();

    @Mock
    private A a1;
    @Mock
    private A a2;
    @Mock
    private A a3;

    @Test
    public void test() throws Exception {
        assertEquals("wrong amount of mocks", 3, mocksCollector.getMocks().length);
        verifyNoMoreInteractions(mocksCollector.getMocks());
        a2.doSomething();
        verifyNoMoreInteractions(mocksCollector.getMocks()); // fail
    }
}

Он работает, но это добавляет зависимость от внутреннего mockito.

5
задан tjjjohnson 8 June 2009 в 04:43
поделиться

3 ответа

Что ж, вы, вероятно, захотите прочитать о загрузчиках .Net.

http://msdn.microsoft.com/en-us/magazine/cc163899.aspx

Visual Studio позволяет создавать проекты установки, в которых вы можете указать, что фреймворк является предварительным условием.

Одно из незначительных неудобств, связанных с загрузкой Microsoft, заключается в том, что вам нужно поставлять EXE вместе с MSI (EXE позаботится о загрузке). Это может быть для вас препятствием, а может и не быть. Загрузчик бесплатно включен в Windows SDK.

Более сложные / дорогостоящие инсталляционные фреймворки, такие как Wise или Installshield, позаботятся об этом за вас (и позволят вам упаковать все в один EXE).

Если вы пойдете по пути WiX: прочтите этот вопрос .

3
ответ дан 15 December 2019 в 01:10
поделиться

Возможно, это не самый простой в использовании инструмент, но WIX сделает все, что вам нужно. Это открытый исходный код, который пользуется сильной поддержкой сообщества.

1
ответ дан 15 December 2019 в 01:10
поделиться

Visual Studio Express включает развертывание Click-Once .

Этот сайт ссылается на параметры развертывания.

0
ответ дан 15 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

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