1. C# / Говнокод #255

    +12

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    [Test]
    public void UserHasNoPermissionToDeleteTransactionWithEditPermission()
    {
      var user = CreatetestUser("test")
        .WithPermissions()
        .Allow("Transaction/Edit").Do();
      TestCurrentUser = user;
    
      var trn = CreateTestTransaction(120, typeof(CreditCardPayment));
    
      try
      {    
        // Who cares about delete, we never do it.
        // I need this test passed just NOW.
    
        // trn.AsIObject().Delete();
        // Assert.Fail("Exception expected");
      }
      catch (PermissionException ex)
      {
        Assert.IsTrue(true, "Cool we got an exception");
      }
      catch (Exception generic)
      {
        Assert.Fail("PermissionException expected.");
      }
    }

    Ничего не тестирующий тест

    Запостил: guest, 24 Декабря 2008

    Комментарии (8) RSS

    • Меня больше вот это порадовало:
      Assert.IsTrue(true, "Cool we got an exception");
      Ответить
    • tareldo:
      Не вижу проблем - выдрано видимо из какого то примера в журнале. В жизни так хорошо не пишут. Это-ж настоящий проблемно-ориентированный(DDD) дизайн!
      Ответить
    • tareldo:
      Правда generic Exception картину окрашивает в цвет фона этой страницы конечно..
      Ответить
    • !00b:
      атрибут ExpectedException для данного типа теста спасет отца демократии, а так вполне не плохо для теста
      Ответить
    • @tareldo так и есть. Проблемно ориентированный.
      Для этого и содзданы языки высокого уровня, а не только для того чтобы писать Console.WriteLine("Hello World!").
      И это код из реального проекта. Подобноый код довольно типичен.
      Ответить
    • md:
      http://www.nunit.org/index.php?p=exception&r=2.2.10

      [Test] [ExpectedException(typeof(PermissionExcep tion))]
      public void UserHasNoPermissionToDeleteTransactionWi thEditPermission(

      сами вы....
      Ответить
    • ExpectedExceptionAttribute не подходит здесь, так как не определяет ГДЕ исключение должно произойти. Здесь важно, что исключение происходит в рдной и только одной строчке.
      Ответить

    Добавить комментарий