Категории NUnit в комбинации?

К сожалению, нет «предыдущего» селектора, но вы можете , возможно, получить тот же эффект, используя позиционирование (например, float right). Это зависит от того, что вы пытаетесь сделать.

В моем случае я хотел получить первую 5-звездочную рейтинговую систему CSS. Мне нужно было бы покрасить (или поменять значок) предыдущих звезд. Если плавать каждый элемент вправо, я по сути получаю тот же эффект (html для звезд, таким образом, должен быть записан «назад»).

Я использую FontAwesome в этом примере и заменяю между юникодами fa -star-o и fa-star http://fortawesome.github.io/Font-Awesome/

CSS:

.fa {
    display: inline-block;
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* set all stars to 'empty star' */
.stars-container {
    display: inline-block;      
}   

/* set all stars to 'empty star' */
.stars-container .star {
    float: right;
    display: inline-block;
    padding: 2px;
    color: orange;
    cursor: pointer;

}

.stars-container .star:before {
    content: "\f006"; /* fontAwesome empty star code */
}

/* set hovered star to 'filled star' */
.star:hover:before{
    content: "\f005"; /* fontAwesome filled star code */
}

/* set all stars after hovered to'filled star' 
** it will appear that it selects all after due to positioning */
.star:hover ~ .star:before {
    content: "\f005"; /* fontAwesome filled star code */
}

HTML: (40)

JSFiddle: http://jsfiddle.net/andrewleyva/88j0105g/

22
задан EightyOne Unite 29 July 2009 в 11:56
поделиться

4 ответа

Быстрый ответ с 2019 для NUnit 3.0. Возможно использовать несколько категорий.

Рассматривают следующий пример:


    [TestFixture]
    public class Tests1
    {
        [Test]
        [Category("A")]
        public void TestA()
        {
            Console.WriteLine(TestContext.CurrentContext.Test.Name);
        }

        [Test]
        [Category("B")]
        public void TestB()
        {
            Console.WriteLine(TestContext.CurrentContext.Test.Name);
        }

        [Test]
        [Category("C")]
        public void TestC()
        {
            Console.WriteLine(TestContext.CurrentContext.Test.Name);
        }

        [Test]
        [Category("A")]
        [Category("B")]
        public void TestAB()
        {
            Console.WriteLine(TestContext.CurrentContext.Test.Name);
        }

        [Test]
        [Category("A")]
        [Category("C")]
        public void TestAC()
        {
            Console.WriteLine(TestContext.CurrentContext.Test.Name);
        }

        [Test]
        [Category("B")]
        [Category("C")]
        public void TestBC()
        {
            Console.WriteLine(TestContext.CurrentContext.Test.Name);
        }

        [Test]
        [Category("A")]
        [Category("B")]
        [Category("C")]
        public void TestABC()
        {
            Console.WriteLine(TestContext.CurrentContext.Test.Name);
        }
    }

можно запустить тесты с обеими категориями A и B и, исключая категорию C использование этого аргумента команды: --where="cat==A && cat==B && cat!=C"

enter image description here

Или можно запустить тесты с любой из категорий A и B и, исключая C как это: --where="(cat==A || cat==B) && cat!=C"

enter image description here

2
ответ дан 29 November 2019 в 04:36
поделиться

Насколько я знаю, вы не можете выбрать их обоих, как NUnit.

Я пробовал несколько разных вещей с NUnit и способ создания моих тестов, но безуспешно .

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

1
ответ дан 29 November 2019 в 04:36
поделиться

Похоже, вам нужна третья категория "catAandB".

2
ответ дан 29 November 2019 в 04:36
поделиться

Нет. Не существует способа запускать только тесты, которые принадлежат к двум или более определенным категориям. Честно говоря, когда мы впервые ввели эту функцию несколько лет назад, я даже не думал об этом. Мы старались сделать все как можно проще.

Кстати, вам не нужно указывать [Test] дважды в методе test3.

[Test]
[Category("catA")]
[Category("catB")]
public void test3
{
    //
}

Не то чтобы это имело значение. Это просто предпочтение стиля.

16
ответ дан 29 November 2019 в 04:36
поделиться
Другие вопросы по тегам:

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