Having a good relationship between developers and testers plays an important role in success of a project.
However, not all developers are easy to work with. I call these difficult developers.
These developers feel defensive when testers report a defect which the root cause may come from developer's code. As a result, they tend to reject defects from testers with reasons:
*No, it's not a bug. It's by design
*No user will ever do this steps
So, my questions is what is your experience in dealing with these developers? What you did to have a good relationship with developers