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

Заглушка - это объект, который реализует интерфейс компонента, но вместо того, чтобы возвращать то, что компонент будет возвращать при вызове, заглушка может быть сконфигурирована для возврата значения, подходящего для теста. Используя заглушки, модульный тест может проверить, может ли модуль обрабатывать различные возвращаемые значения от своего соавтора. Использование заглушки вместо реального сотрудника в модульном тесте можно выразить так:

модульный тест -> заглушка

модульный тест -> модуль -> заглушка

модульный тест подтверждает результаты и состояние модуля

Сначала модульный тест создает заглушку и настраивает ее возвращаемые значения. Затем модульный тест создает модуль и устанавливает на него заглушку. Теперь модульный тест вызывает модуль, который в свою очередь вызывает заглушку. Наконец, модульный тест делает утверждения о результатах вызовов метода на модуле.

Mock похож на заглушку, только у него есть методы, позволяющие определить, какие методы были вызваны для Mock . Используя макет, таким образом, можно проверить, может ли устройство правильно обрабатывать различные возвращаемые значения, а также правильно ли оно использует коллаборатора. Например, по значению, возвращенному из объекта dao, вы не можете увидеть, были ли данные прочитаны из базы данных с помощью Statement или PreparedStatement. Также вы не можете увидеть, был ли вызван метод connection.close () перед возвратом значения. Это возможно с насмешками. Другими словами, имитация позволяет проверить целостность взаимодействия юнитов с коллаборатором. Не только методы коллаборатора, которые возвращают значения, используемые модулем. Использование макета в модульном тесте можно выразить так:

модульный тест -> макет

модульный тест -> единица -> макет

утверждает, что модульный тест на результат и состояние модуля

модульный тест утверждает методы, вызываемые на mock

Подробнее >> Здесь

5
задан 16 July 2009 в 12:00
поделиться

6 ответов

int index = listBox1.FindString("item3");
// Determine if a valid index is returned. Select the item if it is valid.
if (index != -1)
     listBox1.SetSelected(index,true);
15
ответ дан 18 December 2019 в 07:10
поделиться
listBox.FindStringExact("item3");

Возвращает индекс первого найденного элемента или ListBox.NoMatches, если совпадение не найдено.

вы можете затем вызвать

listBox.SetSelected(index, true);

, чтобы выбрать этот элемент

4
ответ дан 18 December 2019 в 07:10
поделиться

Попробуйте использовать метод ListBox.SetSelected .

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

Может быть так:

public bool SelectItem(ListBox listBox, string item)
    {
        bool contains = listBox.Items.Contains(item);
        if (!contains)
            return false;
        listBox.SelectedItem = item;
        return listBox.SelectedItems.Contains(item);
    }

Метод тестирования:

public void Test()
    {
        string item = "item1";
        if (!SelectItem(listBox, item))
        {
            MessageBox.Show("Item not found.");
        }
    }
1
ответ дан 18 December 2019 в 07:10
поделиться

Разве не чтение / запись SelectedValue?

0
ответ дан 18 December 2019 в 07:10
поделиться

SelectedValue будет работать, только если вы установили ValueMember для списка.

Кроме того, даже если вы установите ValueMember, selectedValue не будет работать, если ваш ListBox.Sorted = true.

Посмотрите мой пост на Настройка выбранного элемента в ListBox без цикла

Вы можете попробовать один из следующих подходов:

  1. lb.SelectedValue = fieldValue;

  2. lb.SelectedIndex = lb.FindStringExact ( fieldValue);

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

     private void SetSelectedIndex (ListBox lb, строковое значение)
    {
     для (int i = 0; i 
1
ответ дан 18 December 2019 в 07:10
поделиться
Другие вопросы по тегам:

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