Любимая платформа Поблочного тестирования.NET [закрывается]

Для этого используйте фон и настройте background-size / background-position:

#top-image {
    display: block;
    /*clip-path: inset(0px 103px 45px 105px);*/
    width: 1200px;
    height: 1000px;
    background-image:url(https://picsum.photos/1200/1000?image=0);
    
    background-size:
      calc(100% + 103px + 105px) /*100% of the width + the cropped part*/ 
      calc(100% + 45px); /*100% of the height + the cropped part*/
    background-position:
      -103px /*we shift to the left to crop the 103px*/
      0; /*we keep at the top and the bottom will be cropped*/
}

будет обрезать пиксель на основе контейнера. Если вам нужно обрезать изображение по размеру изображения, сделайте следующее:

#top-image {
    display: block;
    /*clip-path: inset(0px 103px 45px 105px);*/
    width: 1200px;
    height: 1000px;
    background-image:url(https://picsum.photos/750/500?image=1069);
    
    background-size:
      calc(750px*(1200/(750 - 103 - 105)))  
      calc(500px*(1000/(500 - 45))); 
    background-position:
      calc(-103px*(1200/(750 - 103 - 105))) 
      0; 
}

Ваше изображение имеет высоту из 500px, и вы хотите обрезать 45px, таким образом, у нас будет 455px, который должен покрыть 1000px, поэтому нам нужно умножить на 1000/455. Та же логика с шириной. Для позиции нам нужно сместить на 103px урожай с учетом того же умножения.


Мы также можем написать это по-другому.

Я буду использовать изображение ниже (300x150), которое обрежу 100px слева, 60px справа, 10px сверху и 45px снизу. Затем он покроет контейнер размером 400x200. Мы должны видеть только желтую часть.

enter image description here

.image {
    display: block;
    margin:5px;
    width: 400px;
    height: 200px;
    background-image:url(https://i.stack.imgur.com/Xde45.png);
    
    background-size:
      calc(300px*(400/(300 - 100 - 60))) 
      calc(150px*(200/(150 - 10  - 45))); 
    background-position:
      calc(-100px*(400/(300 - 100 - 60))) 
      calc(-10px *(200/(150 - 10  - 45)));
}
.alt {
    background-size:
      calc(100% + (100 + 60)*(400px/(300 - 100 - 60))) 
      calc(100% + (45 + 10) *(200px/(150 - 10 -  45))); 
    background-position:
      calc(-100*(400px/(300 - 100 - 60))) 
      calc(-10 *(200px/(150 - 10  - 45)));
}
.alt2 {
  --c-left:100;  /*crop left*/
  --c-right:60;  /*crop right*/
  --c-bottom:45; /*crop bottom*/
  --c-top:10;    /*crop top*/
  --c-x:calc(var(--c-right) + var(--c-left));
  --c-y:calc(var(--c-top) + var(--c-bottom));
  background-size:
      calc(100% + var(--c-x)*(100%/(300 - var(--c-x)))) 
      calc(100% + var(--c-y)*(100%/(150 - var(--c-y)))); 
    background-position:
      calc(-1*var(--c-left)*(400px/(300 - var(--c-x)))) 
      calc(-1*var(--c-top) *(200px/(150 - var(--c-y)))) ;
}

[1140]

Мы можем взять последнее Синтаксис и считать более переменным, чтобы иметь более динамичный и отзывчивый:

.image {
    display: block;
    margin:5px;
    width: var(--w,400px);
    height: var(--h,200px);
    background-image:url(https://i.stack.imgur.com/Xde45.png);
    --c-left:100;  /*crop left*/
    --c-right:60;  /*crop right*/
    --c-bottom:45; /*crop bottom*/
    --c-top:10;    /*crop top*/
    
    --c-x:calc(var(--c-right) + var(--c-left));
    --c-y:calc(var(--c-top) + var(--c-bottom));
    background-size:
      calc(100% + var(--c-x)*(100%/(300 - var(--c-x)))) 
      calc(100% + var(--c-y)*(100%/(150 - var(--c-y)))); 
    background-position:
      calc(-1*var(--c-left)*(var(--w,400px)/(300 - var(--c-x)))) 
      calc(-1*var(--c-top) *(var(--h,200px)/(150 - var(--c-y)))) ;
}

5
задан 4 revs, 3 users 100% 8 August 2012 в 19:43
поделиться

14 ответов

Nunit для победы!! Это просто и легко для реализации. Никакая путаница, никакая суета.

20
ответ дан 18 December 2019 в 05:12
поделиться

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

У нас также были проблемы с хранением версий NUnit, синхронизируемого с остальной частью команды. Это было незначительное раздражение (пойдите и обновите или зафиксируйте ссылки проекта), но это ушло с переключателем.

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

MbUnit имеет совместимый синтаксис с NUnit, но имеет больше функций (особенно управляемые данными тесты).

2
ответ дан 18 December 2019 в 05:12
поделиться

Поддержка тестов NUnit в Resharper является большой и устанавливает панель очень высоко для меня переезжающий от NUnit. Я могу запустить все тесты в решении непосредственно из Visual Studio, или я могу выполнить развертку и сконцентрироваться на определенных тестах. Когда в моем коде регистрируются, моя непрерывная сборка интеграции запускает те же тесты. Это вселяет мне большую веру в моем процессе разработки.

2
ответ дан 18 December 2019 в 05:12
поделиться

NUnit. Мы можем использовать его на CC.

3
ответ дан 18 December 2019 в 05:12
поделиться

Галлио похож, это будет потрясающим, после того как это становится более стабильным (в настоящее время альфа).

Это не просто среда тестирования, но и платформа автоматизации тестирования, таким образом, это будет работать со многими существующими средами тестирования (MbUnit, NUnit, xUnit.net) все же быть полностью расширяемым, со многими встроенными дополнительными функциями, такими как поколение отчета во многих форматах и инструментах анализа кода.

Я также услышал, что это сможет

  • выходные потоки изображения, так же например, отказы при испытании WatiN могут быть произведены как снимки экрана, таким образом, Вы видите то, что указывает, что браузер был в том, когда тест перестал работать.
  • фильтр пространством имен, таким образом, можно легко снять флажок с тестами для всего пространства имен прежде, чем выполнить их

Править: Это действительно вне альфы теперь. Мы попробовали его в нашей компании, и мы действительно ненавидели его. Было ужасно использовать и очень медленный. Какой позор.

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

Я использовал Nunit в течение достаточно долгого времени, но я, оказывается, предпочитаю вещи, испеченные в VS. Так, я теперь использую MSUnit. Просто предпочтение того, чтобы иметь меньше дополнений установлено в VS.

3
ответ дан 18 December 2019 в 05:12
поделиться

Я использовал nUnit в течение многих лет, но когда мы переместились в VS2008 и 2008 TFS (использование TeamBuild), мы решили попробовать MSTest. Никакие огромные жалобы там... мы действительно как то, как хорошо это интегрируется с IDE, а также сервером сборки CI.

Одной новой вещью, которую мы пробуем, который надеется иметь огромный потенциал, является другое дополнение от Microsoft Research по имени Pex (требует VS2008). Как они выразились: "Pex генерирует модульные тесты от рукописных параметризованных модульных тестов до автоматизированного исследовательского тестирования на основе динамического символьного выполнения". Путем я поместил его: эта вещь делает статический анализ Вашего модульного теста и предназначается для кода и модульных тестов codegen для достижения супер высокого покрытия кода (который часто непрактичен, если Вы делаете его вручную).

6
ответ дан 18 December 2019 в 05:12
поделиться

MbUnit

Мне нравится способ, которым это обрабатывает отчеты, и я с нетерпением жду некоторых предстоящих функций, которые я услышал о, такие как интеграция с JsUnit.

7
ответ дан 18 December 2019 в 05:12
поделиться

xUnit.net, но я являюсь едва несмещенным. :)

Почему я использую его: http://www.codeplex.com/xunit/Wiki/View.aspx?title=WhyDidWeBuildXunit

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

Мне нравится xUnit из-за способа, которым он использует конструктора, и Расположите методы вместо того, чтобы иметь необходимость применить атрибуты к другим методам для инициализации и всего это.

2
ответ дан 18 December 2019 в 05:12
поделиться
  1. xUnit - меньше церемоний, поддержка тестирования на основе данных и другие расширения
1
ответ дан 18 December 2019 в 05:12
поделиться

MSTest

http://en.wikipedia.org/wiki/MSTest

Я не знаю, является ли он моим любимым (на самом деле не пробовал много других), но это удобно, так как встроено в Visual Studio.

2
ответ дан 18 December 2019 в 05:12
поделиться

Я использую NUnit уже около 4 лет, определенно рекомендую его использовать. Reshaper - плагин для VisualStudio от JetBrains включает в себя UnitTestRunner, который прекрасно интегрируется с VisualStudio и позволяет запускать / отлаживать тесты прямо из IDE. Resharper, NUnit и RhinoMocks - мой предпочтительный набор инструментов для UnitTesting.

1
ответ дан 18 December 2019 в 05:12
поделиться
Другие вопросы по тегам:

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