Unit test

They can be tedious when a method doesn't contain logics, and it's mainly calling other methods.

public void DoSomething(User user)
{
    try
    {
        _dbLibrary.Update(user);
        _emailLibrary.Email(user.email, "DONE");
        _logLibrary.Log("SUCCEED");
    }
    catch (Exception ex)
    {
        HandleException(user);
        _logLibrary.Log(ex, "FAILED");
    }
}

I can mock the 3rd party library, checking that passed parameters are correct. I can set up the mock methods to throw an exception to test the codes inside catch clause.

In the example above, I think an integration test might be better.